Checking project structure...
---------------------------A-01-1-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("s")
--(end of buffer or a NUL)
--accepting rule at line 97("t")
--(end of buffer or a NUL)
--accepting rule at line 97("r")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("n")
--(end of buffer or a NUL)
--accepting rule at line 97("g")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/A-01-1-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_A-01-1-N-ok.out	Fri May 31 04:03:30 2024
----- ZONE  1  ----
*** 1 ****
- string
--- 0 ----
output differs from expected
---------------------------A-02-2-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("s")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("t")
--(end of buffer or a NUL)
--accepting rule at line 97("r")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 113 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 113 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("n")
--(end of buffer or a NUL)
--accepting rule at line 97("g")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 113 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/A-02-2-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_A-02-2-N-ok.out	Fri May 31 04:03:30 2024
----- ZONE  1  ----
*** 1 ****
- string
--- 0 ----
output differs from expected
---------------------------A-03-3-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 105("101")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 105("102")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 113 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("C")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 113 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("D")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 113 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/A-03-3-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_A-03-3-N-ok.out	Fri May 31 04:03:30 2024
----- ZONE  1  ----
*** 1 ****
- ABCD
--- 0 ----
output differs from expected
---------------------------A-04-4-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 105("101")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 38("/*")
--(end of buffer or a NUL)
--accepting rule at line 41(" ")
--(end of buffer or a NUL)
--accepting rule at line 41(""")
--(end of buffer or a NUL)
--accepting rule at line 41("n")
--(end of buffer or a NUL)
--accepting rule at line 41("o")
--(end of buffer or a NUL)
--accepting rule at line 41("t")
--(end of buffer or a NUL)
--accepting rule at line 41(""")
--(end of buffer or a NUL)
--accepting rule at line 41(" ")
--(end of buffer or a NUL)
--accepting rule at line 41(""")
--(end of buffer or a NUL)
--accepting rule at line 41("a")
--(end of buffer or a NUL)
--accepting rule at line 41(""")
--(end of buffer or a NUL)
--accepting rule at line 41(" ")
--(end of buffer or a NUL)
--accepting rule at line 41(""")
--(end of buffer or a NUL)
--accepting rule at line 41("s")
--(end of buffer or a NUL)
--accepting rule at line 41("t")
--(end of buffer or a NUL)
--accepting rule at line 41("r")
--(end of buffer or a NUL)
--accepting rule at line 41("i")
--(end of buffer or a NUL)
--accepting rule at line 41("n")
--(end of buffer or a NUL)
--accepting rule at line 41("g")
--(end of buffer or a NUL)
--accepting rule at line 41(""")
--(end of buffer or a NUL)
--accepting rule at line 41(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 40("*/")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("A")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 113 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/A-04-4-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_A-04-4-N-ok.out	Fri May 31 04:03:30 2024
----- ZONE  1  ----
*** 1 ****
- AA
--- 0 ----
output differs from expected
---------------------------A-05-5-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                  
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------A-06-6-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("a")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("               
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/A-06-6-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_A-06-6-N-ok.out	Fri May 31 04:03:30 2024
----- ZONE  1  ----
*** 1 ****
- ola
--- 0 ----
output differs from expected
---------------------------A-07-7-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("X")
--(end of buffer or a NUL)
--accepting rule at line 97(" ")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 105("013")
--(end of buffer or a NUL)
--accepting rule at line 97(" ")
--(end of buffer or a NUL)
--accepting rule at line 97("Y")
--(end of buffer or a NUL)
--accepting rule at line 97(" ")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 105("13")
--accepting rule at line 97(" ")
--(end of buffer or a NUL)
--accepting rule at line 97("Z")
--(end of buffer or a NUL)
--accepting rule at line 97(" ")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--accepting rule at line 100("n")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/A-07-7-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_A-07-7-N-ok.out	Fri May 31 04:03:30 2024
----- ZONE  1  ----
*** 1 ****
- X Y Z
--- 0 ----
output differs from expected
---------------------------A-08-8-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("x")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--accepting rule at line 100("n")
--(end of buffer or a NUL)
--accepting rule at line 97("Y")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--accepting rule at line 99("t")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 105("172")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--accepting rule at line 100("n")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("      
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/A-08-8-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_A-08-8-N-ok.out	Fri May 31 04:03:30 2024
----- ZONE  1  ----
*** 1 ****
- xYz
--- 0 ----
output differs from expected
---------------------------B-01-9-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 60 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 60 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 60 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 60 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("       
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-02-10-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 60 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 60 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 78 134 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 1 14 34 60 109 78 134 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 78 134 109 80 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 78 134 109 80 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 1 14 34 60 109 78 134 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 78 134 109 80 136 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 78 134 109 80 136 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 1 14 34 60 109 78 134 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 1 14 34 60 109 78 134 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 60 109 78 134 175
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 60 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-03-11-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 1 14 34 60 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 1 14 34 60 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 79 135 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 1 14 34 60 109 79 135 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 79 135 109 80 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 79 135 109 80 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 1 14 34 60 109 79 135 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 79 135 109 80 136 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 79 135 109 80 136 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 1 14 34 60 109 79 135 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 1 14 34 60 109 79 135 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 1 14 34 60 109 79 135 177
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 1 14 34 60 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-04-12-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 1 14 34 60 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 1 14 34 60 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 79 135 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 60 109 79 135 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 79 135 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 79 135 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 60 109 79 135 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("5")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 79 135 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 79 135 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 60 109 79 135 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 60 109 79 135 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 1 14 34 60 109 79 135 177
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 1 14 34 60 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-05-13-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 1 14 34 60 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("100")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 1 14 34 60 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("100")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 79 135 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 79 135 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 1 14 34 60 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 1 14 34 60 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("   
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-06-14-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("/")
Next token is token '/' ()
Shifting token '/' ()
Entering state 81
Stack now 0 1 14 34 60 109 81
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("100")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 81 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 81 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 137
Stack now 0 1 14 34 60 109 81 137
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("100")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 81 137 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 81 137 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 179
Stack now 0 1 14 34 60 109 81 137 179
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 209
Stack now 0 1 14 34 60 109 81 137 179 209
Reducing stack by rule 12 (line 78):
   $1 = token '(' ()
   $2 = token '/' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("   
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-07-15-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("%")
Next token is token '%' ()
Shifting token '%' ()
Entering state 82
Stack now 0 1 14 34 60 109 82
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("150")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 82 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 82 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 138
Stack now 0 1 14 34 60 109 82 138
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("100")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 82 138 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 82 138 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 180
Stack now 0 1 14 34 60 109 82 138 180
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 210
Stack now 0 1 14 34 60 109 82 138 180 210
Reducing stack by rule 13 (line 79):
   $1 = token '(' ()
   $2 = token '%' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("   
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-08-16-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 1 14 34 60 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 83 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 83 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 1 14 34 60 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 83 139 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 83 139 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 1 14 34 60 109 83 139 181
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 1 14 34 60 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-09-17-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200(">")
Next token is token '>' ()
Shifting token '>' ()
Entering state 84
Stack now 0 1 14 34 60 109 84
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 84 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 84 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 140
Stack now 0 1 14 34 60 109 84 140
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 84 140 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 84 140 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 182
Stack now 0 1 14 34 60 109 84 140 182
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 212
Stack now 0 1 14 34 60 109 84 140 182 212
Reducing stack by rule 15 (line 81):
   $1 = token '(' ()
   $2 = token '>' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-10-18-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("~")
Next token is token '~' ()
Shifting token '~' ()
Entering state 85
Stack now 0 1 14 34 60 109 85
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 85 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200(">")
Next token is token '>' ()
Shifting token '>' ()
Entering state 84
Stack now 0 1 14 34 60 109 85 109 84
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 85 109 84 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 85 109 84 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 140
Stack now 0 1 14 34 60 109 85 109 84 140
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 85 109 84 140 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 85 109 84 140 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 182
Stack now 0 1 14 34 60 109 85 109 84 140 182
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 212
Stack now 0 1 14 34 60 109 85 109 84 140 182 212
Reducing stack by rule 15 (line 81):
   $1 = token '(' ()
   $2 = token '>' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 141
Stack now 0 1 14 34 60 109 85 141
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 183
Stack now 0 1 14 34 60 109 85 141 183
Reducing stack by rule 20 (line 86):
   $1 = token '(' ()
   $2 = token '~' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-11-19-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("~")
Next token is token '~' ()
Shifting token '~' ()
Entering state 85
Stack now 0 1 14 34 60 109 85
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 85 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 1 14 34 60 109 85 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 85 109 83 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 85 109 83 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 1 14 34 60 109 85 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 85 109 83 139 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 85 109 83 139 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 1 14 34 60 109 85 109 83 139 181
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 1 14 34 60 109 85 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 141
Stack now 0 1 14 34 60 109 85 141
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 183
Stack now 0 1 14 34 60 109 85 141 183
Reducing stack by rule 20 (line 86):
   $1 = token '(' ()
   $2 = token '~' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-12-20-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 34 60 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 75 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 75 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 34 60 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 34 60 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 34 60 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("    
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-13-21-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("~")
Next token is token '~' ()
Shifting token '~' ()
Entering state 85
Stack now 0 1 14 34 60 109 85
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 85 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 34 60 109 85 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 85 109 75 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 85 109 75 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 34 60 109 85 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 85 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 85 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 34 60 109 85 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 34 60 109 85 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 141
Stack now 0 1 14 34 60 109 85 141
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 183
Stack now 0 1 14 34 60 109 85 141 183
Reducing stack by rule 20 (line 86):
   $1 = token '(' ()
   $2 = token '~' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-14-22-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 182("&&")
Next token is token tAND ()
Shifting token tAND ()
Entering state 71
Stack now 0 1 14 34 60 109 71
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 71 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 34 60 109 71 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 71 109 75 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 71 109 75 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 34 60 109 71 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 71 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 71 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 34 60 109 71 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 34 60 109 71 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 128
Stack now 0 1 14 34 60 109 71 128
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 71 128 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("~")
Next token is token '~' ()
Shifting token '~' ()
Entering state 85
Stack now 0 1 14 34 60 109 71 128 109 85
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 71 128 109 85 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 34 60 109 71 128 109 85 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 71 128 109 85 109 75 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 71 128 109 85 109 75 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 34 60 109 71 128 109 85 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 71 128 109 85 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 71 128 109 85 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 34 60 109 71 128 109 85 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 34 60 109 71 128 109 85 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 141
Stack now 0 1 14 34 60 109 71 128 109 85 141
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 183
Stack now 0 1 14 34 60 109 71 128 109 85 141 183
Reducing stack by rule 20 (line 86):
   $1 = token '(' ()
   $2 = token '~' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 168
Stack now 0 1 14 34 60 109 71 128 168
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 200
Stack now 0 1 14 34 60 109 71 128 168 200
Reducing stack by rule 21 (line 87):
   $1 = token '(' ()
   $2 = token tAND ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-15-23-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 183("||")
Next token is token tOR ()
Shifting token tOR ()
Entering state 72
Stack now 0 1 14 34 60 109 72
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 72 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 34 60 109 72 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 72 109 75 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 72 109 75 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 34 60 109 72 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 72 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 72 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 34 60 109 72 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 34 60 109 72 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 129
Stack now 0 1 14 34 60 109 72 129
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 72 129 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 34 60 109 72 129 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 72 129 109 75 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 72 129 109 75 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 34 60 109 72 129 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 72 129 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 72 129 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 34 60 109 72 129 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 34 60 109 72 129 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 169
Stack now 0 1 14 34 60 109 72 129 169
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 201
Stack now 0 1 14 34 60 109 72 129 169 201
Reducing stack by rule 22 (line 88):
   $1 = token '(' ()
   $2 = token tOR ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-16-24-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 60 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 60 109 78 134
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 174
Stack now 0 1 14 34 60 109 78 134 174
Reducing stack by rule 7 (line 73):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/B-16-24-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_B-16-24-N-ok.out	Fri May 31 04:03:31 2024
----- ZONE  1  ----
*** 1 ****
! 3
--- 1 ----
! -3
output differs from expected
---------------------------B-17-25-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 1 14 34 60 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 79 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 1 14 34 60 109 79 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 79 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 79 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 1 14 34 60 109 79 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 1 14 34 60 109 79 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 1 14 34 60 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 1 14 34 60 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-20-26-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
		 ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
		 ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-21-27-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
		 ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
		 ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/B-21-27-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_B-21-27-N-ok.out	Fri May 31 04:03:31 2024
----- ZONE  1  ----
*** 1 ****
- KO
--- 0 ----
output differs from expected
---------------------------B-22-28-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
		 ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
		 ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-23-29-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
		 ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
		 ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/B-23-29-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_B-23-29-N-ok.out	Fri May 31 04:03:31 2024
----- ZONE  1  ----
*** 1 ****
- KO
--- 0 ----
output differs from expected
---------------------------B-24-30-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 71("0xF")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------B-25-31-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 71("0x2f")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 71("0x2f")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 60 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 42 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/B-25-31-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_B-25-31-N-ok.out	Fri May 31 04:03:31 2024
----- ZONE  1  ----
*** 1 ****
! 4747
--- 1,2 ----
! 47
! 47
TEST PASSED!
---------------------------C-01-32-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("               
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 34 60 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 34 60 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 79 135 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 79 135 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 5 1 14 34 60 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 5 1 14 34 60 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                                 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------C-02-33-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("4")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("             
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                                       
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
3: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-02-33-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-02-33-N-ok.out	Fri May 31 04:03:31 2024
----- ZONE  1  ----
*** 1 ****
- 4
--- 0 ----
output differs from expected
---------------------------C-03-34-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 1 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("a")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 18 50 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("      
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                                       
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected string)
3: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-03-34-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-03-34-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- ola
--- 0 ----
output differs from expected
---------------------------C-04-35-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("               
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("4")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                       
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/C-04-35-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-04-35-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
! 4
--- 1 ----
! 0
output differs from expected
---------------------------C-05-36-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("    
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("   
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("4")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("   
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("   
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
4: wrong type in initialization (expected double or int)
5: wrong type in initialization (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/C-05-36-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-05-36-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
! 6
--- 1 ----
! 0
output differs from expected
---------------------------C-06-37-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("               
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 60 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 60 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 78 134 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 5 1 14 42 93 60 109 78 134 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 60 109 78 134 175
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 60 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("           
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/C-06-37-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-06-37-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
! 7
--- 1 ----
! 1
output differs from expected
---------------------------C-07-38-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("               
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 34 65 122 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 65 122 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 65 122 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 34 65 122 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 5 1 14 34 65 122 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 60 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 60 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 78 134 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 5 1 14 42 93 60 109 78 134 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 5 1 14 42 93 60 109 78 134 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 60 109 78 134 175
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 60 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("       
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/C-07-38-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-07-38-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
! 7
--- 1 ----
! 1
output differs from expected
---------------------------C-08-39-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 5 1 14 34 60 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 83 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 83 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 5 1 14 34 60 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 83 139 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 83 139 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 5 1 14 34 60 109 83 139 181
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 5 1 14 34 60 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                      
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
4: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-08-39-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-08-39-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 0
--- 0 ----
output differs from expected
---------------------------C-09-40-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200(">")
Next token is token '>' ()
Shifting token '>' ()
Entering state 84
Stack now 0 5 1 14 34 60 109 84
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 84 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 84 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 140
Stack now 0 5 1 14 34 60 109 84 140
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 84 140 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 84 140 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 182
Stack now 0 5 1 14 34 60 109 84 140 182
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 212
Stack now 0 5 1 14 34 60 109 84 140 182 212
Reducing stack by rule 15 (line 81):
   $1 = token '(' ()
   $2 = token '>' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                      
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
4: undeclared variable 'y'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-09-40-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-09-40-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 0
--- 0 ----
output differs from expected
---------------------------C-10-41-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 5 1 14 34 60 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 5 1 14 34 60 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 74 131 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 74 131 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 5 1 14 34 60 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 5 1 14 34 60 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
4: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-10-41-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-10-41-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 0
--- 0 ----
output differs from expected
---------------------------C-11-42-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 173(">=")
Next token is token tGE ()
Shifting token tGE ()
Entering state 73
Stack now 0 5 1 14 34 60 109 73
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 73 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 73 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 130
Stack now 0 5 1 14 34 60 109 73 130
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 73 130 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 73 130 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 170
Stack now 0 5 1 14 34 60 109 73 130 170
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 202
Stack now 0 5 1 14 34 60 109 73 130 170 202
Reducing stack by rule 16 (line 82):
   $1 = token '(' ()
   $2 = token tGE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
4: undeclared variable 'y'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-11-42-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-11-42-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 0
--- 0 ----
output differs from expected
---------------------------C-12-43-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 14 34 60 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 14 34 60 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 75 132 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 75 132 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 14 34 60 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 14 34 60 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
4: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-12-43-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-12-43-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 0
--- 0 ----
output differs from expected
---------------------------C-13-44-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 176("!=")
Next token is token tNE ()
Shifting token tNE ()
Entering state 76
Stack now 0 5 1 14 34 60 109 76
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 76 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 76 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 133
Stack now 0 5 1 14 34 60 109 76 133
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 76 133 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 76 133 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 173
Stack now 0 5 1 14 34 60 109 76 133 173
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 205
Stack now 0 5 1 14 34 60 109 76 133 173 205
Reducing stack by rule 18 (line 84):
   $1 = token '(' ()
   $2 = token tNE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                     
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
4: undeclared variable 'y'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-13-44-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-13-44-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 0
--- 0 ----
output differs from expected
---------------------------C-14-45-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 182("&&")
Next token is token tAND ()
Shifting token tAND ()
Entering state 71
Stack now 0 5 1 14 34 60 109 71
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109 71 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 14 34 60 109 71 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 71 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 71 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 14 34 60 109 71 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 71 109 75 132 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 71 109 75 132 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 14 34 60 109 71 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 14 34 60 109 71 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 128
Stack now 0 5 1 14 34 60 109 71 128
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109 71 128 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 176("!=")
Next token is token tNE ()
Shifting token tNE ()
Entering state 76
Stack now 0 5 1 14 34 60 109 71 128 109 76
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 71 128 109 76 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 71 128 109 76 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 133
Stack now 0 5 1 14 34 60 109 71 128 109 76 133
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 71 128 109 76 133 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 71 128 109 76 133 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 173
Stack now 0 5 1 14 34 60 109 71 128 109 76 133 173
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 205
Stack now 0 5 1 14 34 60 109 71 128 109 76 133 173 205
Reducing stack by rule 18 (line 84):
   $1 = token '(' ()
   $2 = token tNE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 168
Stack now 0 5 1 14 34 60 109 71 128 168
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 200
Stack now 0 5 1 14 34 60 109 71 128 168 200
Reducing stack by rule 21 (line 87):
   $1 = token '(' ()
   $2 = token tAND ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("       
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
4: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-14-45-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-14-45-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 0
--- 0 ----
output differs from expected
---------------------------C-15-46-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 183("||")
Next token is token tOR ()
Shifting token tOR ()
Entering state 72
Stack now 0 5 1 14 34 60 109 72
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109 72 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 14 34 60 109 72 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 72 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 72 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 14 34 60 109 72 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 72 109 75 132 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 72 109 75 132 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 14 34 60 109 72 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 14 34 60 109 72 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 129
Stack now 0 5 1 14 34 60 109 72 129
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109 72 129 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 14 34 60 109 72 129 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 72 129 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 72 129 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 14 34 60 109 72 129 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 72 129 109 75 132 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 72 129 109 75 132 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 14 34 60 109 72 129 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 14 34 60 109 72 129 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 169
Stack now 0 5 1 14 34 60 109 72 129 169
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 201
Stack now 0 5 1 14 34 60 109 72 129 169 201
Reducing stack by rule 22 (line 88):
   $1 = token '(' ()
   $2 = token tOR ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("       
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
4: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-15-46-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-15-46-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 0
--- 0 ----
output differs from expected
---------------------------C-16-47-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 14 34 60 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109 75 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("~")
Next token is token '~' ()
Shifting token '~' ()
Entering state 85
Stack now 0 5 1 14 34 60 109 75 109 85
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109 75 109 85 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 14 34 60 109 75 109 85 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 75 109 85 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 75 109 85 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 14 34 60 109 75 109 85 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 75 109 85 109 75 132 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 75 109 85 109 75 132 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 14 34 60 109 75 109 85 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 14 34 60 109 75 109 85 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 141
Stack now 0 5 1 14 34 60 109 75 109 85 141
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 183
Stack now 0 5 1 14 34 60 109 75 109 85 141 183
Reducing stack by rule 20 (line 86):
   $1 = token '(' ()
   $2 = token '~' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 14 34 60 109 75 132
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 75 132 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 75 132 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 14 34 60 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 14 34 60 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("          
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
4: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-16-47-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-16-47-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 0
--- 0 ----
output differs from expected
---------------------------C-19-48-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("            
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                          
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
3: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-19-48-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-19-48-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- 10
--- 0 ----
output differs from expected
---------------------------C-20-49-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 1 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("2")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 18 50 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("     
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("                          
	")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected string)
3: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/C-20-49-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_C-20-49-N-ok.out	Fri May 31 04:03:32 2024
----- ZONE  1  ----
*** 1 ****
- ole2
--- 0 ----
output differs from expected
---------------------------D-01-50-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
   ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58 110 154 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 110 154 93 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110 154 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
           ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("f")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
           ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 93 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 93 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
   ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------D-02-51-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
   ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58 110 154 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 110 154 93 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110 154 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
           ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("f")
--(end of buffer or a NUL)
--accepting rule at line 97("1")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
           ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
               ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("f")
--(end of buffer or a NUL)
--accepting rule at line 97("2")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
               ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
                   ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("f")
--(end of buffer or a NUL)
--accepting rule at line 97("3")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
                   ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
                       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("f")
--(end of buffer or a NUL)
--accepting rule at line 97("4")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
                       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 93 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 93 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------D-03-52-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
   ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58 110 154 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 110 154 93 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110 154 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
           ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("f")
--(end of buffer or a NUL)
--accepting rule at line 97("1")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
           ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
               ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("f")
--(end of buffer or a NUL)
--accepting rule at line 97("2")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
               ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
                   ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("f")
--(end of buffer or a NUL)
--accepting rule at line 97("3")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
                   ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
                       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("e")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("i")
--(end of buffer or a NUL)
--accepting rule at line 97("f")
--(end of buffer or a NUL)
--accepting rule at line 97("4")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
                       ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("O")
--(end of buffer or a NUL)
--accepting rule at line 97("K")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 93 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 93 58 110 154 93 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 93 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 93 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------E-01-53-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 42 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 5 1 14 42 93 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 5 1 14 42 93 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 5 1 14 42 93 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 5 1 14 42 93 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 42 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 42 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 42 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 42 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 42 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 42 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 42 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected double or int)
4: wrong type in initialization (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/E-01-53-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-01-53-N-ok.out	Fri May 31 04:03:34 2024
----- ZONE  1  ----
*** 1 ****
! 123
--- 1,524288 ----
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
output differs from expected
---------------------------E-02-54-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 42 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 173(">=")
Next token is token tGE ()
Shifting token tGE ()
Entering state 73
Stack now 0 5 1 14 42 93 68 109 73
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 109 73 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 109 73 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 130
Stack now 0 5 1 14 42 93 68 109 73 130
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 109 73 130 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 42 93 68 109 73 130 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 109 73 130 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 109 73 130 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 42 93 68 109 73 130 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 5 1 14 42 93 68 109 73 130 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 170
Stack now 0 5 1 14 42 93 68 109 73 130 170
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 202
Stack now 0 5 1 14 42 93 68 109 73 130 170 202
Reducing stack by rule 16 (line 82):
   $1 = token '(' ()
   $2 = token tGE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 42 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 42 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 79 135 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 79 135 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 42 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 42 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 42 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 42 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 42 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected double or int)
4: wrong type in initialization (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/E-02-54-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-02-54-N-ok.out	Fri May 31 04:03:34 2024
----- ZONE  1  ----
*** 1 ****
- 10-1-2-3
--- 0 ----
output differs from expected
---------------------------E-03-55-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("9")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 42 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 42 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 5 1 14 42 93 68 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 109 83 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 109 83 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 5 1 14 42 93 68 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 109 83 139 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 42 93 68 109 83 139 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 109 83 139 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 109 83 139 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 42 93 68 109 83 139 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 5 1 14 42 93 68 109 83 139 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 5 1 14 42 93 68 109 83 139 181
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 5 1 14 42 93 68 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 42 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 42 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 42 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 42 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 42 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 42 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 42 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
4: wrong type in initialization (expected double or int)
5: wrong type in initialization (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/E-03-55-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-03-55-N-ok.out	Fri May 31 04:03:36 2024
----- ZONE  1  ----
*** 1 ****
--- 1,524288 ----
  9
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
output differs from expected
---------------------------E-04-56-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 42 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 5 1 14 42 93 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 5 1 14 42 93 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("5")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 5 1 14 42 93 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 5 1 14 42 93 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 42 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 42 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 42 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 42 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 42 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 42 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 42 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected double or int)
4: wrong type in initialization (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/E-04-56-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-04-56-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
! 135
--- 1,524288 ----
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
! 0
output differs from expected
---------------------------E-05-57-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 5 1 14 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 5 1 14 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 5 1 14 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 5 1 14 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
3: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/E-05-57-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-05-57-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
- 123
--- 0 ----
output differs from expected
---------------------------E-06-58-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 173(">=")
Next token is token tGE ()
Shifting token tGE ()
Entering state 73
Stack now 0 5 1 14 34 68 109 73
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 109 73 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 68 109 73 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 130
Stack now 0 5 1 14 34 68 109 73 130
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 68 109 73 130 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 34 68 109 73 130 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 68 109 73 130 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 68 109 73 130 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 34 68 109 73 130 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 5 1 14 34 68 109 73 130 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 170
Stack now 0 5 1 14 34 68 109 73 130 170
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 202
Stack now 0 5 1 14 34 68 109 73 130 170 202
Reducing stack by rule 16 (line 82):
   $1 = token '(' ()
   $2 = token tGE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 79 135 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 79 135 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
3: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/E-06-58-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-06-58-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
- 10-1-2-3
--- 0 ----
output differs from expected
---------------------------E-07-59-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("9")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 42 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 5 1 14 42 93 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 5 1 14 42 93 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 109 74 131 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 42 93 68 109 74 131 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 109 74 131 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 109 74 131 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 42 93 68 109 74 131 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 5 1 14 42 93 68 109 74 131 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 5 1 14 42 93 68 109 74 131 171
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 5 1 14 42 93 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 42 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 42 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 42 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 42 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 42 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 42 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 42 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 42 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
4: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------E-08-60-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 5 1 14 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 5 1 14 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("5")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 5 1 14 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 5 1 14 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
3: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/E-08-60-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-08-60-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
- 135
--- 0 ----
output differs from expected
---------------------------E-09-61-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("29")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
3: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/E-09-61-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-09-61-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
- 01234567891011121314151617181920212223242526272829
--- 0 ----
output differs from expected
---------------------------E-10-62-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("29")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 41 34 68 125 93 69 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("%")
Next token is token '%' ()
Shifting token '%' ()
Entering state 82
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 138
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 180
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 180
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 210
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 180 210
Reducing stack by rule 13 (line 79):
   $1 = token '(' ()
   $2 = token '%' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 41 34 68 125 93 69 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 192
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 154 192
Reducing stack by rule 47 (line 122):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
6: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/E-10-62-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-10-62-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
- 0246810121416182022242628
--- 0 ----
output differs from expected
---------------------------E-11-63-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("29")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 41 34 68 125 93 69 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("%")
Next token is token '%' ()
Shifting token '%' ()
Entering state 82
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 138
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 180
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 180
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 210
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 180 210
Reducing stack by rule 13 (line 79):
   $1 = token '(' ()
   $2 = token '%' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 41 34 68 125 93 69 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("14")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 192
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 154 192
Reducing stack by rule 47 (line 122):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
9: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/E-11-63-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-11-63-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
- 1516182022242628
--- 0 ----
output differs from expected
---------------------------E-12-64-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 57
Stack now 0 1 14 34 57
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 108
Stack now 0 1 14 34 57 108
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 57 108 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 57 108 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 153
Stack now 0 1 14 34 57 108 153
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 191
Stack now 0 1 14 34 57 108 153 191
Reducing stack by rule 58 (line 140):
   $1 = token '(' ()
   $2 = token tVAR ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("29")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: unknown type in initialization
3: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/E-12-64-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-12-64-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
- 01234567891011121314151617181920212223242526272829
--- 0 ----
output differs from expected
---------------------------E-13-65-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 57
Stack now 0 1 14 34 57
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 108
Stack now 0 1 14 34 57 108
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 57 108 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 57 108 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 153
Stack now 0 1 14 34 57 108 153
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 191
Stack now 0 1 14 34 57 108 153 191
Reducing stack by rule 58 (line 140):
   $1 = token '(' ()
   $2 = token tVAR ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("29")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 41 34 68 125 93 69 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("%")
Next token is token '%' ()
Shifting token '%' ()
Entering state 82
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 138
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 180
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 180
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 210
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 180 210
Reducing stack by rule 13 (line 79):
   $1 = token '(' ()
   $2 = token '%' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 41 34 68 125 93 69 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 192
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 154 192
Reducing stack by rule 47 (line 122):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: unknown type in initialization
6: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/E-13-65-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-13-65-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
- 0246810121416182022242628
--- 0 ----
output differs from expected
---------------------------E-14-66-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 57
Stack now 0 1 14 34 57
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 108
Stack now 0 1 14 34 57 108
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 57 108 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 57 108 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 153
Stack now 0 1 14 34 57 108 153
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 191
Stack now 0 1 14 34 57 108 153 191
Reducing stack by rule 58 (line 140):
   $1 = token '(' ()
   $2 = token tVAR ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("29")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 41 34 68 125 93 69 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("%")
Next token is token '%' ()
Shifting token '%' ()
Entering state 82
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 138
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 180
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 180
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 210
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 109 82 138 180 210
Reducing stack by rule 13 (line 79):
   $1 = token '(' ()
   $2 = token '%' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 41 34 68 125 93 69 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 41 34 68 125 93 69 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("14")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 192
Stack now 0 1 14 41 34 68 125 93 69 34 58 110 154 192
Reducing stack by rule 47 (line 122):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: unknown type in initialization
9: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/E-14-66-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_E-14-66-N-ok.out	Fri May 31 04:03:38 2024
----- ZONE  1  ----
*** 1 ****
- 1516182022242628
--- 0 ----
output differs from expected
---------------------------F-01-67-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 68 125 93 69 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 68 125 93 69 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 41 34 68 125 93 69 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 41 34 68 125 93 69 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 41 34 68 125 93 69 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41 34 68 125 93 69 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68 125 93 69 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("6")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("%")
Next token is token '%' ()
Shifting token '%' ()
Entering state 82
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 138
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 180
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138 180
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 210
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138 180 210
Reducing stack by rule 13 (line 79):
   $1 = token '(' ()
   $2 = token '%' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
          ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 166("next")
Next token is token tNEXT ()
Shifting token tNEXT ()
Entering state 62
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 42 93 62
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 116
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 42 93 62 116
Reducing stack by rule 43 (line 118):
   $1 = token '(' ()
   $2 = token tNEXT ()
   $3 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
          ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 34 68 125 93 69 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 34 68 125 93 69 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
12: undeclared variable 'y'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/F-01-67-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_F-01-67-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 123456
--- 0 ----
output differs from expected
---------------------------F-02-68-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 68 125 93 69 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 68 125 93 69 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 41 34 68 125 93 69 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 41 34 68 125 93 69 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 41 34 68 125 93 69 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41 34 68 125 93 69 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68 125 93 69 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("6")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("%")
Next token is token '%' ()
Shifting token '%' ()
Entering state 82
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 138
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 180
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138 180
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 210
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 109 82 138 180 210
Reducing stack by rule 13 (line 79):
   $1 = token '(' ()
   $2 = token '%' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 165("stop")
Next token is token tSTOP ()
Shifting token tSTOP ()
Entering state 63
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 63
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 118
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 93 63 118
Reducing stack by rule 41 (line 116):
   $1 = token '(' ()
   $2 = token tSTOP ()
   $3 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 93 69 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 34 68 125 93 69 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 34 68 125 93 69 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
10: undeclared variable 'y'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/F-02-68-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_F-02-68-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 123456123456
--- 0 ----
output differs from expected
---------------------------F-03-69-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 174("<=")
Next token is token tLE ()
Shifting token tLE ()
Entering state 74
Stack now 0 1 14 41 34 68 109 74
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 109 74 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 109 74 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 131
Stack now 0 1 14 41 34 68 109 74 131
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 109 74 131 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 109 74 131 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 171
Stack now 0 1 14 41 34 68 109 74 131 171
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 203
Stack now 0 1 14 41 34 68 109 74 131 171 203
Reducing stack by rule 17 (line 83):
   $1 = token '(' ()
   $2 = token tLE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 68 125 93 69 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 68 125 93 69 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 41 34 68 125 93 69 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 41 34 68 125 93 69 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 41 34 68 125 93 69 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 41 34 68 125 93 69 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41 34 68 125 93 69 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("I")
--(end of buffer or a NUL)
--accepting rule at line 97("	")
--(end of buffer or a NUL)
--accepting rule at line 97("E")
--(end of buffer or a NUL)
--accepting rule at line 97("R")
--(end of buffer or a NUL)
--accepting rule at line 97(" ")
--(end of buffer or a NUL)
--accepting rule at line 97("x")
--(end of buffer or a NUL)
--accepting rule at line 97("=")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 41 34 68 125 93 69 41 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 41 34 60 113
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 34 60 113 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 34 60 113 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 41 34 68 125 93 69 41 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 41 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 34 68 125 93 69 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 173(">=")
Next token is token tGE ()
Shifting token tGE ()
Entering state 73
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 109 73
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 109 73 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 109 73 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 130
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 109 73 130
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 109 73 130 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 109 73 130 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 170
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 109 73 130 170
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 202
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 109 73 130 170 202
Reducing stack by rule 16 (line 82):
   $1 = token '(' ()
   $2 = token tGE ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 182("&&")
Next token is token tAND ()
Shifting token tAND ()
Entering state 71
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 128
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 168
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 168
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 200
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 109 71 128 168 200
Reducing stack by rule 21 (line 87):
   $1 = token '(' ()
   $2 = token tAND ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 165("stop")
Next token is token tSTOP ()
Shifting token tSTOP ()
Entering state 63
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 110 93 63
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 117
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 110 93 63 117
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 160
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 110 93 63 117 160
Reducing stack by rule 42 (line 117):
   $1 = token '(' ()
   $2 = token tSTOP ()
   $3 = token tINTEGER ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 110 154
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 192
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 58 110 154 192
Reducing stack by rule 47 (line 122):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 109 79 135 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 109 79 135 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 34 68 125 93 69 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 34 68 125 93 69 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 68 125 93 69 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 34 68 125 93 69 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 34 68 125 93 69 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 34 68 125 93 69 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 14 41 34 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 14 41 34 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 14 41 34 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 1 14 41 34 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 1 14 41 34 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 92 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 92 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
12: undeclared variable 'x'
13: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/F-03-69-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_F-03-69-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1,9 ****
- I	ER x=1
- 3
- 2
- 1
- 0
- I	ER x=2
- 3
- 2
- 2
--- 0 ----
output differs from expected
---------------------------G-01-70-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 195("sizeof")
Next token is token tSIZEOF ()
Shifting token tSIZEOF ()
Entering state 66
Stack now 0 1 14 34 60 109 66
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 66 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 66 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 123
Stack now 0 1 14 34 60 109 66 123
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 163
Stack now 0 1 14 34 60 109 66 123 163
Reducing stack by rule 26 (line 92):
   $1 = token '(' ()
   $2 = token tSIZEOF ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------G-02-71-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 195("sizeof")
Next token is token tSIZEOF ()
Shifting token tSIZEOF ()
Entering state 66
Stack now 0 1 14 34 60 109 66
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("1.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 1 14 34 60 109 66 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 66 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 123
Stack now 0 1 14 34 60 109 66 123
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 163
Stack now 0 1 14 34 60 109 66 123 163
Reducing stack by rule 26 (line 92):
   $1 = token '(' ()
   $2 = token tSIZEOF ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------G-03-72-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 195("sizeof")
Next token is token tSIZEOF ()
Shifting token tSIZEOF ()
Entering state 66
Stack now 0 1 14 34 60 109 66
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 1 14 34 60 109 66 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 66 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 123
Stack now 0 1 14 34 60 109 66 123
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 163
Stack now 0 1 14 34 60 109 66 123 163
Reducing stack by rule 26 (line 92):
   $1 = token '(' ()
   $2 = token tSIZEOF ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------G-04-73-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 195("sizeof")
Next token is token tSIZEOF ()
Shifting token tSIZEOF ()
Entering state 66
Stack now 0 1 14 34 60 109 66
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("á")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 14 34 60 109 66 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 66 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 123
Stack now 0 1 14 34 60 109 66 123
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 163
Stack now 0 1 14 34 60 109 66 123 163
Reducing stack by rule 26 (line 92):
   $1 = token '(' ()
   $2 = token tSIZEOF ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------G-05-74-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 16 48 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 195("sizeof")
Next token is token tSIZEOF ()
Shifting token tSIZEOF ()
Entering state 66
Stack now 0 5 1 14 34 60 109 66
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 66 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 66 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 123
Stack now 0 5 1 14 34 60 109 66 123
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 163
Stack now 0 5 1 14 34 60 109 66 123 163
Reducing stack by rule 26 (line 92):
   $1 = token '(' ()
   $2 = token tSIZEOF ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'i'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/G-05-74-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_G-05-74-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 4
--- 0 ----
output differs from expected
---------------------------G-06-75-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("1.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 1 16 48 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 16 48 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 195("sizeof")
Next token is token tSIZEOF ()
Shifting token tSIZEOF ()
Entering state 66
Stack now 0 5 1 14 34 60 109 66
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 66 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 66 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 123
Stack now 0 5 1 14 34 60 109 66 123
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 163
Stack now 0 5 1 14 34 60 109 66 123 163
Reducing stack by rule 26 (line 92):
   $1 = token '(' ()
   $2 = token tSIZEOF ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'i'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/G-06-75-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_G-06-75-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 8
--- 0 ----
output differs from expected
---------------------------G-07-76-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 1 16 48 97 61 114 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 16 48 97 61 114 158 195 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("1.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 1 16 48 97 61 114 158 195 34 60 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 195 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 16 48 97 61 114 158 195 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 16 48 97 61 114 158 195 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 16 48 97 61 114 158 195 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 195("sizeof")
Next token is token tSIZEOF ()
Shifting token tSIZEOF ()
Entering state 66
Stack now 0 5 1 14 34 60 109 66
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 66 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 66 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 123
Stack now 0 5 1 14 34 60 109 66 123
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 163
Stack now 0 5 1 14 34 60 109 66 123 163
Reducing stack by rule 26 (line 92):
   $1 = token '(' ()
   $2 = token tSIZEOF ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/G-07-76-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_G-07-76-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 4
--- 0 ----
output differs from expected
---------------------------G-08-77-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 16 48 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 195 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("1.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 1 16 48 97 61 114 158 195 34 64 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 195 34 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 195 34 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 195 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 195("sizeof")
Next token is token tSIZEOF ()
Shifting token tSIZEOF ()
Entering state 66
Stack now 0 5 1 14 34 60 109 66
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109 66 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 66 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 66 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 66 109 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 66 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 66 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 123
Stack now 0 5 1 14 34 60 109 66 123
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 163
Stack now 0 5 1 14 34 60 109 66 123 163
Reducing stack by rule 26 (line 92):
   $1 = token '(' ()
   $2 = token tSIZEOF ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/G-08-77-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_G-08-77-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 8
--- 0 ----
output differs from expected
---------------------------J-01-78-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 1 16 48 97 61 114 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 16 48 97 61 114 158 195 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("a")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 16 48 97 61 114 158 195 34 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 195 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 16 48 97 61 114 158 195 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 16 48 97 61 114 158 195 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 16 48 97 61 114 158 195 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/J-01-78-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_J-01-78-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- ola
--- 0 ----
output differs from expected
---------------------------J-02-79-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 195 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 195 34 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 195 34 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 195 34 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 195 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/J-02-79-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_J-02-79-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 2
--- 0 ----
output differs from expected
---------------------------J-03-80-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 1 16 48 97 61 114 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 195 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("a")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 1 16 48 97 61 114 158 195 34 64 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 195 34 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 195 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 195 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/J-03-80-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_J-03-80-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- ola
--- 0 ----
output differs from expected
---------------------------J-04-81-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 135("forward")
Next token is token tFORWARD ()
Shifting token tFORWARD ()
Entering state 11
Stack now 0 1 11
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 11 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 1 11 15 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 11 15 47
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 96
Stack now 0 1 11 15 47 96
Reducing stack by rule 88 (line 195):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 11 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 26
Stack now 0 1 11 26
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 53
Stack now 0 1 11 26 53
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 104
Stack now 0 1 11 26 53 104
Reducing stack by rule 62 (line 148):
   $1 = token '(' ()
   $2 = token tFORWARD ()
   $3 = nterm var_type ()
   $4 = token tIDENTIFIER ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 5 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 5 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 5 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 5 1 12 27 54 97 61 114 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 12 27 54 97 61 114 158
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 5 1 12 27 54 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 158 195 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 195 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 12 27 54 97 61 114 158 195 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 12 27 54 97 61 114 158 195 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 195 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 195 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 12 27 54 97 61 114 158 195 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 12 27 54 97 61 114 158 195 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 12 27 54 97 61 114 158 195 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 12 27 54 97 61 114 158 195 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 195 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 12 27 54 97 61 114 158 195 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 195 41 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 195 41 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 12 27 54 97 61 114 158 195 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 12 27 54 97 61 114 158 195 41 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 12 27 54 97 61 114 158 195 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 12 27 54 97 61 114 158 195 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 12 27 54 97 61 114 158 195 41 92
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 5 1 12 27 54 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 5 1 12 27 54 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 5 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 5 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: unknown type in initialization
Compiler: ok (0/0). YASM: ok. LD: ok. Running: execution failed
*** expected/J-04-81-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_J-04-81-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 3
--- 0 ----
output differs from expected
---------------------------J-05-82-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("pi")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 195 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("314")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 195 34 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 195 34 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 195 34 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 195 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("pi")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'pi'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/J-05-82-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_J-05-82-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 314
--- 0 ----
output differs from expected
---------------------------J-06-83-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 134("external")
Next token is token tEXTERNAL ()
Shifting token tEXTERNAL ()
Entering state 10
Stack now 0 1 10
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 10 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 10 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 10 15 46
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 10 15 47
Next token is token ')' ()
Shifting token ')' ()
Entering state 96
Stack now 0 1 10 15 47 96
Reducing stack by rule 88 (line 195):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token ')' ()
-> $$ = nterm func_type ()
Entering state 25
Stack now 0 1 10 25
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("argc")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 52
Stack now 0 1 10 25 52
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 103
Stack now 0 1 10 25 52 103
Reducing stack by rule 61 (line 147):
   $1 = token '(' ()
   $2 = token tEXTERNAL ()
   $3 = nterm func_type ()
   $4 = token tIDENTIFIER ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("argc")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: TEST PASSED!
---------------------------J-07-84-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 1 16 48 97 61 114 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 195 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 195 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 195 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 195 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 195 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 195 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 16 48 97 61 114 158 195 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 16 48 97 61 114 158 195 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 195 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 16 48 97 61 114 158 195 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 16 48 97 61 114 158 195 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 109 80 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 109 80 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 109 80 136 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 109 80 136 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 134
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 16 48 97 61 114 158 195 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 195 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 16 48 97 61 114 158 195 41 92
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/J-07-84-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_J-07-84-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 3
--- 0 ----
output differs from expected
---------------------------J-08-85-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 15 46
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 15 47
Next token is token ')' ()
Shifting token ')' ()
Entering state 96
Stack now 0 1 15 47 96
Reducing stack by rule 88 (line 195):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 18 50 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 18 50 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 18 50 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 18 50 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 18 50 97 61 114 46
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 18 50 97 61 114 158
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 18 50 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 18 50 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 18 50 97 61 114 158 195 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 97 61 114 158 195 34 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 18 50 97 61 114 158 195 34 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 18 50 97 61 114 158 195 34 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 18 50 97 61 114 158 195 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 18 50 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 18 50 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 18 50 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 18 50 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 18 50 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected function)
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/J-08-85-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_J-08-85-N-ok.out	Fri May 31 04:03:39 2024
----- ZONE  1  ----
*** 1 ****
- 2
--- 0 ----
output differs from expected
---------------------------K-01-86-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 12 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 12 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 28
Stack now 0 1 12 28
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 55
Stack now 0 1 12 28 55
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 12 28 55 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 12 28 55 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 12 28 55 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 106
Stack now 0 1 12 28 55 106
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 152
Stack now 0 1 12 28 55 106 152
Reducing stack by rule 63 (line 149):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm var_type ()
   $4 = token tIDENTIFIER ()
   $5 = nterm opt_global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 5 1 16 48 97 61 114 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 5 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 195 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 195 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 195 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 195 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 195 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 195 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 16 48 97 61 114 158 195 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 16 48 97 61 114 158 195 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 195 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 16 48 97 61 114 158 195 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 195 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 16 48 97 61 114 158 195 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 195 41 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 195 41 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 195 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 16 48 97 61 114 158 195 41 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 16 48 97 61 114 158 195 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 195 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 16 48 97 61 114 158 195 41 92
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 5 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 5 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: unknown type in initialization
4: undeclared variable 'f'
5: undeclared variable 'x'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-01-86-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-01-86-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 310
--- 0 ----
output differs from expected
---------------------------K-02-87-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 1 16 48 97 61 114 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 16 48 97 61 114 158 196 217 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-02-87-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-02-87-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 3
--- 0 ----
output differs from expected
---------------------------K-03-88-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 1 16 48 97 61 114 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 196 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 1 16 48 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 16 48 97 61 114 158 196 217 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("4")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 88 143 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 88 143 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 34 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-03-88-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-03-88-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 7
--- 0 ----
output differs from expected
---------------------------K-04-89-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-04-89-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-04-89-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 4
--- 0 ----
output differs from expected
---------------------------K-05-90-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 16 48 97 61 114 158 196 217 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("5")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 16 48 97 61 114 158 196 217 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 16 48 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 16 48 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-05-90-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-05-90-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 6
--- 0 ----
output differs from expected
---------------------------K-06-91-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 196 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 1 16 48 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 16 48 97 61 114 158 196 217 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("5")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 16 48 97 61 114 158 196 217 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 16 48 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 16 48 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("4")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 143 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 143 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 34 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-06-91-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-06-91-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 10
--- 0 ----
output differs from expected
---------------------------K-07-92-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 1 16 48 97 61 114 158 194 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 16 48 97 61 114 158 196 217 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 16 48 97 61 114 158 196 217 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 16 48 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 16 48 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("a")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 5 1 14 34 88 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-07-92-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-07-92-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- ola
--- 0 ----
output differs from expected
---------------------------K-08-93-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 135("forward")
Next token is token tFORWARD ()
Shifting token tFORWARD ()
Entering state 11
Stack now 0 1 11
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 11 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 11 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 11 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 11 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 11 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 11 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 11 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 11 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 11 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 26
Stack now 0 1 11 26
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 53
Stack now 0 1 11 26 53
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 104
Stack now 0 1 11 26 53 104
Reducing stack by rule 62 (line 148):
   $1 = token '(' ()
   $2 = token tFORWARD ()
   $3 = nterm var_type ()
   $4 = token tIDENTIFIER ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 5 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 5 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 5 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 5 1 12 27 54 97 61 114 158 194 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 5 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 5 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 5 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 5 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 5 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 5 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 5 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("a")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 5 1 14 34 88 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: unknown type in initialization
3: unknown type in initialization
5: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-08-93-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-08-93-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- ola
--- 0 ----
output differs from expected
---------------------------K-09-94-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 135("forward")
Next token is token tFORWARD ()
Shifting token tFORWARD ()
Entering state 11
Stack now 0 1 11
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 11 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 11 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 11 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 11 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 1 11 15 47 95 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 11 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 11 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 11 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 11 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 11 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 26
Stack now 0 1 11 26
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 53
Stack now 0 1 11 26 53
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 104
Stack now 0 1 11 26 53 104
Reducing stack by rule 62 (line 148):
   $1 = token '(' ()
   $2 = token tFORWARD ()
   $3 = nterm var_type ()
   $4 = token tIDENTIFIER ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 5 1 16 48 97 61 114 158 194 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 16 48 97 61 114 158 196 217 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 5 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 5 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 5 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 5 1 12 27 54 97 61 114 158 194 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("14")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 5 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 5 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("a")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 5 1 14 34 60 109 88 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: unknown type in initialization
3: unknown type in initialization
5: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-09-94-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-09-94-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- ola10
--- 0 ----
output differs from expected
---------------------------K-10-95-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 135("forward")
Next token is token tFORWARD ()
Shifting token tFORWARD ()
Entering state 11
Stack now 0 1 11
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 11 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 11 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 11 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 11 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 1 11 15 47 95 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 11 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 11 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 11 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 11 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 11 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 26
Stack now 0 1 11 26
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 53
Stack now 0 1 11 26 53
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 104
Stack now 0 1 11 26 53 104
Reducing stack by rule 62 (line 148):
   $1 = token '(' ()
   $2 = token tFORWARD ()
   $3 = nterm var_type ()
   $4 = token tIDENTIFIER ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 5 1 16 48 97 61 114 158 194 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 16 48 97 61 114 158 196 217 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 5 1 16 48 97 61 114 158 194 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("14")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("a")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 5 1 14 34 60 109 88 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: unknown type in initialization
3: unknown type in initialization
5: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-10-95-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-10-95-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- ola10
--- 0 ----
output differs from expected
---------------------------K-11-96-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 135("forward")
Next token is token tFORWARD ()
Shifting token tFORWARD ()
Entering state 11
Stack now 0 1 11
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 11 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 11 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 11 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 11 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 11 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 11 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 11 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 11 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 11 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 26
Stack now 0 1 11 26
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 53
Stack now 0 1 11 26 53
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 104
Stack now 0 1 11 26 53 104
Reducing stack by rule 62 (line 148):
   $1 = token '(' ()
   $2 = token tFORWARD ()
   $3 = nterm var_type ()
   $4 = token tIDENTIFIER ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 29("string")
Next token is token tTYPE_STRING ()
Shifting token tTYPE_STRING ()
Entering state 9
Stack now 0 5 1 16 48 97 61 114 158 194 9
Reducing stack by rule 79 (line 178):
   $1 = token tTYPE_STRING ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("s")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 16 48 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97("o")
--(end of buffer or a NUL)
--accepting rule at line 97("l")
--(end of buffer or a NUL)
--accepting rule at line 97("a")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 5 1 14 34 88 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: unknown type in initialization
3: unknown type in initialization
5: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/K-11-96-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_K-11-96-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- ola
--- 0 ----
output differs from expected
---------------------------L-01-97-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 196 217 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 196 217 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 196 217 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 196 217 34 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 196 217 34 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 196 217 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 16 48 97 61 114 158 196 217 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
          ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("@")
Next token is token '@' ()
Shifting token '@' ()
Entering state 87
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 109 79 135 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 109 79 135 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 144
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 144
Next token is token ')' ()
Shifting token ')' ()
Entering state 185
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 109 87 144 185
Reducing stack by rule 29 (line 95):
   $1 = token '(' ()
   $2 = token '@' ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 175
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
          ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 42 93 64 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 42 93 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 1 16 48 97 61 114 158 196 217 41 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 16 48 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 16 48 97 61 114 158 196 217 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("9")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 16 48 97 61 114 158 196 217 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 16 48 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
9: unknown type in initialization
11: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/L-01-97-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_L-01-97-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 15
--- 0 ----
output differs from expected
---------------------------L-02-98-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 135("forward")
Next token is token tFORWARD ()
Shifting token tFORWARD ()
Entering state 11
Stack now 0 1 11
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 11 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 11 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 11 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 11 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 11 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 11 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 11 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 11 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 11 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 26
Stack now 0 1 11 26
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 53
Stack now 0 1 11 26 53
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 104
Stack now 0 1 11 26 53 104
Reducing stack by rule 62 (line 148):
   $1 = token '(' ()
   $2 = token tFORWARD ()
   $3 = nterm var_type ()
   $4 = token tIDENTIFIER ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 5 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 5 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 5 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("9")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 175
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 5 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 5 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 5 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 5 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 5 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("9")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 175
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 5 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 5 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
8: unknown type in initialization
15: unknown type in initialization
17: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/L-02-98-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_L-02-98-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 6
--- 0 ----
output differs from expected
---------------------------L-03-99-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 135("forward")
Next token is token tFORWARD ()
Shifting token tFORWARD ()
Entering state 11
Stack now 0 1 11
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 11 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 11 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 11 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 11 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 11 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 11 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 11 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 11 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 11 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 11 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 11 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 26
Stack now 0 1 11 26
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 53
Stack now 0 1 11 26 53
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 104
Stack now 0 1 11 26 53 104
Reducing stack by rule 62 (line 148):
   $1 = token '(' ()
   $2 = token tFORWARD ()
   $3 = nterm var_type ()
   $4 = token tIDENTIFIER ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("9")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 196 217 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 16 48 97 61 114 158 196 217 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" 
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 175
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("9")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 196 217 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 16 48 97 61 114 158 196 217 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 151("if")
Next token is token tIF ()
Shifting token tIF ()
Entering state 58
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 110
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 154
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
      ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 177
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 175
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 193
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 193
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 215
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 34 58 110 154 193 215
Reducing stack by rule 48 (line 123):
   $1 = token '(' ()
   $2 = token tIF ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = nterm instruction ()
   $6 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 16 48 97 61 114 158 196 217 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
8: unknown type in initialization
15: unknown type in initialization
17: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/L-03-99-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_L-03-99-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 6
--- 0 ----
output differs from expected
---------------------------O-01-100-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 16 48 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 16 48 97 61 114 158 196 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 1 16 48 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 143 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 143 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 34 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 143 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 143 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 42 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
4: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/O-01-100-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_O-01-100-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 1.3E15
--- 0 ----
output differs from expected
---------------------------O-02-101-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 16 48 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 16 48 97 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
4: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/O-02-101-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_O-02-101-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 1E12
--- 0 ----
output differs from expected
---------------------------O-03-102-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 16 48 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 16 48 97 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("9")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
4: undeclared variable 'f'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/O-03-102-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_O-03-102-N-ok.out	Fri May 31 04:03:40 2024
----- ZONE  1  ----
*** 1 ****
- 99
--- 0 ----
output differs from expected
---------------------------P-01-103-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 42 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 42 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 42 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 42 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 42 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("6.2E3")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 42 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 42 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 42 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 42 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 42 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 42 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 42 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("3.1E3")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 42 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 42 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 42 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 42 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 42 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 42 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 42 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 42 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 42 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 42 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected pointer)
4: wrong type in initialization (expected double or int)
5: wrong type in initialization (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/P-01-103-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_P-01-103-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 6.2E33.1E3
--- 0 ----
output differs from expected
---------------------------P-02-104-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 92 93 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 92 93 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 92 93 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("7")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("8")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected pointer)
4: undeclared variable 'g'
5: wrong type in initialization (expected pointer)
6: wrong type in initialization (expected double or int)
7: undeclared variable 'g'
8: undeclared variable 'g'
10: undeclared variable 'g'
11: undeclared variable 'g'
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/P-02-104-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_P-02-104-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 378
--- 0 ----
output differs from expected
---------------------------P-03-105-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("4")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 41 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 41 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 41 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 41 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 41 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 41 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 41 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 14 41 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 41 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 41 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 41 34 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 41 34 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 14 41 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 122 109 70 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 34 65 122 109 70 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97(" ")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 5 1 14 41 92 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 41 92 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 5 1 14 41 92 93 68 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 5 1 14 41 92 93 68 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 139 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 139 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 5 1 14 41 92 93 68 109 83 139 181
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 5 1 14 41 92 93 68 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 41 92 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 41 92 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 92 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 93 68 125 93 69 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 92 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 41 92 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 41 92 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 41 92 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 41 92 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 41 92 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97(" ")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 5 1 14 41 92 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 41 92 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 5 1 14 41 92 93 68 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 5 1 14 41 92 93 68 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 139 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 139 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 5 1 14 41 92 93 68 109 83 139 181
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 5 1 14 41 92 93 68 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 41 92 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 41 92 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 92 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 92 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 41 92 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 41 92 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 41 92 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 41 92 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 41 92 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 87("\")
--(end of buffer or a NUL)
--accepting rule at line 100("n")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 5 1 14 41 92 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 41 92 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 5 1 14 41 92 93 68 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 5 1 14 41 92 93 68 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 139 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 139 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 5 1 14 41 92 93 68 109 83 139 181
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 5 1 14 41 92 93 68 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 41 92 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 41 92 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 92 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("/")
Next token is token '/' ()
Shifting token '/' ()
Entering state 81
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("6")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 137
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 109 67 124 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 109 67 124 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 179
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 179
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 209
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 109 81 137 179 209
Reducing stack by rule 12 (line 78):
   $1 = token '(' ()
   $2 = token '/' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 93 68 125 93 69 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 92 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 41 92 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 41 92 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 41 92 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 41 92 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 41 92 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 86(""")
--(end of buffer or a NUL)
--accepting rule at line 97(" ")
--(end of buffer or a NUL)
--accepting rule at line 88(""")
Next token is token tSTRING ()
Shifting token tSTRING ()
Entering state 31
Stack now 0 5 1 14 41 92 93 60 31
Reducing stack by rule 94 (line 205):
   $1 = token tSTRING ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 41 92 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 5 1 14 41 92 93 68 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 5 1 14 41 92 93 68 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 139 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 139 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 5 1 14 41 92 93 68 109 83 139 181
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 5 1 14 41 92 93 68 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 41 92 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 41 92 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 92 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 92 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 41 92 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 41 92 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 41 92 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 41 92 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 41 92 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected double or int)
4: wrong type in initialization (expected pointer)
6: undeclared variable 'n'
8: wrong type in initialization (expected double or int)
12: undeclared variable 'n'
14: wrong type in initialization (expected double or int)
18: undeclared variable 'n'
20: wrong type in initialization (expected double or int)
24: undeclared variable 'n'
26: wrong type in initialization (expected double or int)
30: undeclared variable 'n'
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/P-03-105-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_P-03-105-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1,2 ****
-   2222
-  3333
--- 0 ----
output differs from expected
---------------------------P-04-106-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("d")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("4")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 41 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("j")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 41 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 41 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 41 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 41 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 14 41 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("7")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 41 92 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 5 1 14 41 92 93 68 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 5 1 14 41 92 93 68 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("6")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 109 83 139 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 109 83 139 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 5 1 14 41 92 93 68 109 83 139 181
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 5 1 14 41 92 93 68 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 41 92 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 41 92 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 92 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("d")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 93 68 125 93 69 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 92 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 41 92 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 41 92 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 41 92 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 41 92 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 41 92 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 124 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 124 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 5 1 14 41 92 93 65 122 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("d")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 80 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 80 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 5 1 14 41 92 93 65 122 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("d")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 80 136 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 80 136 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 5 1 14 41 92 93 65 122 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 5 1 14 41 92 93 65 122 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 164("loop")
Next token is token tLOOP ()
Shifting token tLOOP ()
Entering state 68
Stack now 0 5 1 14 41 92 93 68
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 200("<")
Next token is token '<' ()
Shifting token '<' ()
Entering state 83
Stack now 0 5 1 14 41 92 93 68 109 83
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("j")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 109 83 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 109 83 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 139
Stack now 0 5 1 14 41 92 93 68 109 83 139
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("7")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 109 83 139 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 109 83 139 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 181
Stack now 0 5 1 14 41 92 93 68 109 83 139 181
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 211
Stack now 0 5 1 14 41 92 93 68 109 83 139 181 211
Reducing stack by rule 14 (line 80):
   $1 = token '(' ()
   $2 = token '<' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 125
Stack now 0 5 1 14 41 92 93 68 125
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 145("block")
Next token is token tBLOCK ()
Shifting token tBLOCK ()
Entering state 69
Stack now 0 5 1 14 41 92 93 68 125 93 69
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 92 93 68 125 93 69 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("j")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 68 125 93 69 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 92 93 68 125 93 69 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
    ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("j")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("j")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 93 68 125 93 69 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 68 125 93 69 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 126
Stack now 0 5 1 14 41 92 93 68 125 93 69 126
Next token is token ')' ()
Shifting token ')' ()
Entering state 166
Stack now 0 5 1 14 41 92 93 68 125 93 69 126 166
Reducing stack by rule 51 (line 129):
   $1 = token '(' ()
   $2 = token tBLOCK ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm block ()
Entering state 38
Stack now 0 5 1 14 41 92 93 68 125 38
Reducing stack by rule 50 (line 125):
   $1 = nterm block ()
-> $$ = nterm instruction ()
Entering state 165
Stack now 0 5 1 14 41 92 93 68 125 165
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 199
Stack now 0 5 1 14 41 92 93 68 125 165 199
Reducing stack by rule 49 (line 124):
   $1 = token '(' ()
   $2 = token tLOOP ()
   $3 = nterm expr ()
   $4 = nterm instruction ()
   $5 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
4: wrong type in initialization (expected double or int)
5: wrong type in initialization (expected double or int)
6: wrong type in initialization (expected pointer)
10: undeclared variable 'i'
11: undeclared variable 'i'
15: undeclared variable 'j'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/P-04-106-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_P-04-106-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 4444441.6E1
--- 0 ----
output differs from expected
---------------------------P-05-107-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("6")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 122 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 122 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 122 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 122 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected pointer)
4: undeclared variable 'p'
5: undeclared variable 'p'
6: undeclared variable 'p'
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/P-05-107-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_P-05-107-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
! 6
--- 1 ----
! 0
output differs from expected
---------------------------P-06-108-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 41 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 41 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 41 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 41 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 41 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 41 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 41 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 14 41 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 92 93 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 92 93 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 92 93 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("6")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 41 92 93 65 122 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109 79 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 124
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 122 109 79 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 79 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 41 92 93 65 122 109 79 135
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 177
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 177
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 207
Stack now 0 5 1 14 41 92 93 65 122 109 79 135 177 207
Reducing stack by rule 10 (line 76):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected pointer)
4: wrong type in initialization (expected pointer)
5: undeclared variable 'p'
6: undeclared variable 'q'
7: undeclared variable 'p'
8: undeclared variable 'q'
9: undeclared variable 'q'
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/P-06-108-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_P-06-108-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
! 3
--- 1 ----
! 0
output differs from expected
---------------------------P-07-109-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 16 48 97 61 114 46 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 16 48 97 61 114 158 194 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 16 48 97 61 114 158 196 217 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 16 48 97 61 114 158 196 217 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 16 48 97 61 114 158 196 217 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 16 48 97 61 114 158 196 217 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 16 48 97 61 114 158 196 217 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("100")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("40")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("   ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
4: unknown type in initialization
6: wrong type in initialization (expected pointer)
7: undeclared variable 'p'
8: undeclared variable 'p'
9: undeclared variable 'p'
10: undeclared variable 'p'
11: undeclared variable 'f'
12: undeclared variable 'p'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/P-07-109-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_P-07-109-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 1
--- 0 ----
output differs from expected
---------------------------Q-01-110-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 12 27 54 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 12 27 54 97 61 114 46 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 12 27 54 97 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 12 27 54 97 61 114 158 194 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 12 27 54 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 41 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 41 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 41 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 41 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 41 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 41 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 41 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 14 41 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("3.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 41 92 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("2.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 41 92 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("6.1E1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 41 92 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 65 122 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 65 122 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 65 122 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 65 122 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 65 122 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: wrong type in initialization (expected pointer)
4: wrong type in initialization (expected pointer)
5: undeclared variable 'p'
6: undeclared variable 'p'
7: undeclared variable 'p'
8: undeclared variable 'p'
9: undeclared variable 'q'
10: undeclared variable 'q'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Q-01-110-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Q-01-110-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 6.1E1
--- 0 ----
output differs from expected
---------------------------Q-02-111-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 12 27 54 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 12 27 54 97 61 114 46 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 12 27 54 97 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 12 27 54 97 61 114 158 194 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 12 27 54 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 41 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 41 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 41 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 41 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 41 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 41 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 41 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 14 41 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("3.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 41 92 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("2.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 41 92 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("6.1E1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 41 92 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 65 122 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109 88 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 88 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 88 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 65 122 109 88 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 109 88 109 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 109 88 109 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 65 122 109 88 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 65 122 109 88 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 65 122 109 88 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 65 122 109 88 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 65 122 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 65 122 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 65 122 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 65 122 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("q")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: wrong type in initialization (expected pointer)
4: wrong type in initialization (expected pointer)
5: undeclared variable 'p'
6: undeclared variable 'p'
7: undeclared variable 'p'
8: undeclared variable 'p'
9: undeclared variable 'q'
10: undeclared variable 'q'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Q-02-111-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Q-02-111-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 6.1E1
--- 0 ----
output differs from expected
---------------------------Q-03-112-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("r")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("6.1E1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 1 18 50 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("?")
Next token is token '?' ()
Shifting token '?' ()
Entering state 86
Stack now 0 5 1 14 41 34 65 122 109 86
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("r")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 122 109 86 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 142
Stack now 0 5 1 14 41 34 65 122 109 86 142
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 184
Stack now 0 5 1 14 41 34 65 122 109 86 142 184
Reducing stack by rule 25 (line 91):
   $1 = token '(' ()
   $2 = token '?' ()
   $3 = nterm lval ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
3: wrong type in initialization (expected pointer)
4: undeclared variable 'p'
5: undeclared variable 'p'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Q-03-112-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Q-03-112-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 6.1E1
--- 0 ----
output differs from expected
---------------------------Q-04-113-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 14 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("r")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("6.1E1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 1 14 34 89 146 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 14 41 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 14 41 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 41 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 41 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 1 14 41 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 41 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 41 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 1 14 41 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("?")
Next token is token '?' ()
Shifting token '?' ()
Entering state 86
Stack now 0 1 14 41 34 65 122 109 86
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("r")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 65 122 109 86 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 142
Stack now 0 1 14 41 34 65 122 109 86 142
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 184
Stack now 0 1 14 41 34 65 122 109 86 142 184
Reducing stack by rule 25 (line 91):
   $1 = token '(' ()
   $2 = token '?' ()
   $3 = nterm lval ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 1 14 41 92 93 60 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 92 93 60 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 92 93 60 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 1 14 41 92 93 60 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 60 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 60 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 1 14 41 92 93 60 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 1 14 41 92 93 60 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 92 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
3: wrong type in initialization (expected pointer)
4: undeclared variable 'p'
5: undeclared variable 'p'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Q-04-113-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Q-04-113-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 6.1E1
--- 0 ----
output differs from expected
---------------------------Q-05-114-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("r")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("6.1E1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 1 18 50 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 5 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 5 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 5 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 12 27 54 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 12 27 54 97 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 12 27 54 97 61 114 158 194 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 5 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 5 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109 88 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("?")
Next token is token '?' ()
Shifting token '?' ()
Entering state 86
Stack now 0 5 1 14 34 60 109 88 109 86
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("r")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 88 109 86 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 142
Stack now 0 5 1 14 34 60 109 88 109 86 142
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 184
Stack now 0 5 1 14 34 60 109 88 109 86 142 184
Reducing stack by rule 25 (line 91):
   $1 = token '(' ()
   $2 = token '?' ()
   $3 = nterm lval ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: unknown type in initialization
4: undeclared variable 'main'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Q-05-114-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Q-05-114-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 6.1E1
--- 0 ----
output differs from expected
---------------------------Q-06-115-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 12 27 54 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 12 27 54 97 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 12 27 54 97 61 114 158 194 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 12 27 54 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("r")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("6.1E1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 34 89 146 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 60 109 88 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("?")
Next token is token '?' ()
Shifting token '?' ()
Entering state 86
Stack now 0 5 1 14 41 34 60 109 88 109 86
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("r")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 60 109 88 109 86 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 142
Stack now 0 5 1 14 41 34 60 109 88 109 86 142
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 184
Stack now 0 5 1 14 41 34 60 109 88 109 86 142 184
Reducing stack by rule 25 (line 91):
   $1 = token '(' ()
   $2 = token '?' ()
   $3 = nterm lval ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 34 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: wrong type in initialization (expected double or int)
4: undeclared variable 'main'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Q-06-115-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Q-06-115-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 6.1E1
--- 0 ----
output differs from expected
---------------------------Q-07-116-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 136("public")
Next token is token tPUBLIC ()
Shifting token tPUBLIC ()
Entering state 12
Stack now 0 1 12
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Reducing stack by rule 67 (line 156):
-> $$ = nterm opt_var ()
Entering state 27
Stack now 0 1 12 27
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 54
Stack now 0 1 12 27 54
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 12 27 54 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 12 27 54 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 12 27 54 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 12 27 54 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 12 27 54 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 12 27 54 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 12 27 54 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 12 27 54 97 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 1 12 27 54 97 61 114 158 194 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 12 27 54 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 12 27 54 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 12 27 54 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 12 27 54 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 12 27 54 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 12 27 54 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 12 27 54 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 12 27 54 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 109 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 12 27 54 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 12 27 54 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 12 27 54 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 12 27 54 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 12 27 54 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 12 27 54 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 105
Stack now 0 1 12 27 54 105
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 151
Stack now 0 1 12 27 54 105 151
Reducing stack by rule 64 (line 150):
   $1 = token '(' ()
   $2 = token tPUBLIC ()
   $3 = nterm opt_var ()
   $4 = token tIDENTIFIER ()
   $5 = nterm global_init ()
   $6 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 34 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("!")
Next token is token '!' ()
Shifting token '!' ()
Entering state 49
Stack now 0 5 1 14 34 17 49
Reducing stack by rule 80 (line 179):
   $1 = nterm data_type ()
   $2 = token '!' ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 197("null")
Next token is token tNULLPTR ()
Shifting token tNULLPTR ()
Entering state 33
Stack now 0 5 1 14 34 89 146 33
Reducing stack by rule 95 (line 206):
   $1 = token tNULLPTR ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 199("objects")
Next token is token tOBJECTS ()
Shifting token tOBJECTS ()
Entering state 70
Stack now 0 5 1 14 41 34 65 122 109 70
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 65 122 109 70 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 65 122 109 70 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 127
Stack now 0 5 1 14 41 34 65 122 109 70 127
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 167
Stack now 0 5 1 14 41 34 65 122 109 70 127 167
Reducing stack by rule 30 (line 96):
   $1 = token '(' ()
   $2 = token tOBJECTS ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("3.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 41 92 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("2.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 41 92 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 65 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 65 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 65 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 65 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 65 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("6.1E1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 5 1 14 41 92 93 65 122 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("main")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109 88 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("?")
Next token is token '?' ()
Shifting token '?' ()
Entering state 86
Stack now 0 5 1 14 41 92 93 60 109 88 109 86
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 121
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 121
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 198("index")
Next token is token tINDEX ()
Shifting token tINDEX ()
Entering state 67
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 121 67
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("p")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 121 67 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 121 67 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 124
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 121 67 124
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 121 67 124 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 121 67 124 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 164
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 121 67 124 164
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 198
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 121 67 124 164 198
Reducing stack by rule 33 (line 101):
   $1 = token '(' ()
   $2 = token tINDEX ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm lval ()
Entering state 142
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 142
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 184
Stack now 0 5 1 14 41 92 93 60 109 88 109 86 142 184
Reducing stack by rule 25 (line 91):
   $1 = token '(' ()
   $2 = token '?' ()
   $3 = nterm lval ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: wrong type in initialization (expected pointer)
4: undeclared variable 'p'
5: undeclared variable 'p'
6: undeclared variable 'p'
7: undeclared variable 'p'
8: undeclared variable 'main'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Q-07-116-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Q-07-116-N-ok.out	Fri May 31 04:03:41 2024
----- ZONE  1  ----
*** 1 ****
- 6.1E1
--- 0 ----
output differs from expected
---------------------------R-01-117-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("z")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("30")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 5 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 16 48 97 61 114 158 195 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("z")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("7")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 16 48 97 61 114 158 195 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 195 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("z")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 16 48 97 61 114 158 195 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 5 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 5 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 182("&&")
Next token is token tAND ()
Shifting token tAND ()
Entering state 71
Stack now 0 5 1 14 34 71
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 71 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 14 34 71 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 71 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 71 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 14 34 71 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 71 109 75 132 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 71 109 75 132 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 14 34 71 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 14 34 71 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 128
Stack now 0 5 1 14 34 71 128
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 71 128 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 71 128 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 71 128 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 71 128 109 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 71 128 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 71 128 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 168
Stack now 0 5 1 14 34 71 128 168
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 200
Stack now 0 5 1 14 34 71 128 168 200
Reducing stack by rule 21 (line 87):
   $1 = token '(' ()
   $2 = token tAND ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("z")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
3: wrong type in initialization (expected double or int)
4: unknown type in initialization
6: undeclared variable 'x'
7: undeclared variable 'z'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/R-01-117-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_R-01-117-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 30
--- 0 ----
output differs from expected
---------------------------R-02-118-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("10")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("z")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 62("30")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 99
Stack now 0 5 1 18 50 99
Reducing stack by rule 71 (line 164):
   $1 = nterm literal ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 5 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 16 48 97 61 114 158 195 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("z")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("7")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 16 48 97 61 114 158 195 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 16 48 97 61 114 158 195 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 16 48 97 61 114 158 195 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("z")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 195 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 16 48 97 61 114 158 195 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 5 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 5 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 183("||")
Next token is token tOR ()
Shifting token tOR ()
Entering state 72
Stack now 0 5 1 14 34 72
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 72 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("~")
Next token is token '~' ()
Shifting token '~' ()
Entering state 85
Stack now 0 5 1 14 34 72 109 85
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 72 109 85 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 175("==")
Next token is token tEQ ()
Shifting token tEQ ()
Entering state 75
Stack now 0 5 1 14 34 72 109 85 109 75
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 72 109 85 109 75 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 72 109 85 109 75 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 132
Stack now 0 5 1 14 34 72 109 85 109 75 132
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("y")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 72 109 85 109 75 132 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 72 109 85 109 75 132 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 172
Stack now 0 5 1 14 34 72 109 85 109 75 132 172
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 204
Stack now 0 5 1 14 34 72 109 85 109 75 132 172 204
Reducing stack by rule 19 (line 85):
   $1 = token '(' ()
   $2 = token tEQ ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 141
Stack now 0 5 1 14 34 72 109 85 141
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 183
Stack now 0 5 1 14 34 72 109 85 141 183
Reducing stack by rule 20 (line 86):
   $1 = token '(' ()
   $2 = token '~' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 129
Stack now 0 5 1 14 34 72 129
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 72 129 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 72 129 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 72 129 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 72 129 109 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 72 129 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 72 129 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 169
Stack now 0 5 1 14 34 72 129 169
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 201
Stack now 0 5 1 14 34 72 129 169 201
Reducing stack by rule 22 (line 88):
   $1 = token '(' ()
   $2 = token tOR ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("z")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected double or int)
2: wrong type in initialization (expected double or int)
3: wrong type in initialization (expected double or int)
4: unknown type in initialization
6: undeclared variable 'x'
7: undeclared variable 'z'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/R-02-118-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_R-02-118-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 30
--- 0 ----
output differs from expected
---------------------------S-01-119-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 1 15 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 15 47
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 96
Stack now 0 1 15 47 96
Reducing stack by rule 88 (line 195):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 69 (line 160):
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 34 65 122 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 34 65 122 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 5 1 14 34 65 122 109 61 114 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 34 65 122 109 61 114 158
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 5 1 14 34 65 122 109 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 41 92
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 5 1 14 34 65 122 109 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 34 65 122 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 42 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected function)
Compiler: ok (0/0). YASM: ok. LD: ok. Running: execution failed
*** expected/S-01-119-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_S-01-119-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 3
--- 0 ----
output differs from expected
---------------------------S-01-120-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 77
Stack now 0 1 14 34 77
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 1 14 34 77 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 14 34 77 47
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 96
Stack now 0 1 14 34 77 47 96
Reducing stack by rule 88 (line 195):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 14 34 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 34 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 14 41 34 65 122 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 14 41 34 65 122 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 30("void")
Next token is token tTYPE_VOID ()
Shifting token tTYPE_VOID ()
Entering state 45
Stack now 0 1 14 41 34 65 122 109 61 114 45
Reducing stack by rule 91 (line 200):
   $1 = token tTYPE_VOID ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 14 41 34 65 122 109 61 114 158
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 14 41 34 65 122 109 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 34 89 146 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 34 89 146 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("x")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 41 92
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 14 41 34 65 122 109 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 1 14 41 34 65 122 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 92 93 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 92 93 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 1 14 41 92 93 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 1 14 41 92 93 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 1 14 41 92 93 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected function)
Compiler: ok (0/0). YASM: ok. LD: ok. Running: execution failed
*** expected/S-01-120-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_S-01-120-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 3
--- 0 ----
output differs from expected
---------------------------U-01-121-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 16 48 97 61 114 158 196 194 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 16 48 97 61 114 158 196 194 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("fun")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 16 48 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("fun")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 88 143 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 88 143 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 34 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 4
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 42 93 60 109 88 143 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 42 93 60 109 88 143 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 42 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 6
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
2: unknown type in initialization
4: undeclared variable 'g'
5: undeclared variable 'g'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/U-01-121-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_U-01-121-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 46
--- 0 ----
output differs from expected
---------------------------U-02-122-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 16 48 97 61 114 158 196 194 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 16 48 97 61 114 158 196 194 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("fun")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 16 48 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("fun")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 88 143 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 88 143 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 34 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 4
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 42 93 60 109 88 143 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 42 93 60 109 88 143 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 42 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 6
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 109 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 42 93 60 109 88 109 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("7")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 42 93 60 109 88 109 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88 109 88
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("8")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 42 93 60 109 88 143 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 42 93 60 109 88 143 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 42 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 30
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
2: unknown type in initialization
4: undeclared variable 'g'
5: undeclared variable 'g'
6: undeclared variable 'g'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/U-02-122-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_U-02-122-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 4630
--- 0 ----
output differs from expected
---------------------------U-03-123-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 16 48 97 61 114 158 196 194 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 16 48 97 61 114 158 196 194 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("fun")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 16 48 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("fun")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 5 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 5 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("h")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 5 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 16 48 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 16 48 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 16 48 97 61 114 158 196 194 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 16 48 97 61 114 158 196 194 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f1")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 16 48 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 16 48 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 16 48 97 61 114 158 196 194 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 16 48 97 61 114 158 196 194 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 16 48 97 61 114 158 196 194 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 16 48 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f2")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 16 48 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 16 48 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 16 48 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 16 48 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 16 48 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 16 48 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f1")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f2")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 16 48 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 16 48 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 16 48 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 16 48 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 16 48 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 5 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 5 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 60 109 88 143 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 60 109 88 143 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 34 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 4
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 42 93 60 109 88 143 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 42 93 60 109 88 143 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 42 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 6
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 109 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 42 93 60 109 88 109 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("7")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 42 93 60 109 88 109 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 42 93 60 109 88 109 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88 109 88
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("8")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 42 93 60 109 88 143 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 42 93 60 109 88 143 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 42 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 30
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 42 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("h")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 42 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("3")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 42 93 60 109 88 143 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("4")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 42 93 60 109 88 143 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 42 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 42 93 60 109 88 143 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("*")
Next token is token '*' ()
Shifting token '*' ()
Entering state 80
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("7")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 136
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("n")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 178
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 208
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 109 80 136 178 208
Reducing stack by rule 11 (line 77):
   $1 = token '(' ()
   $2 = token '*' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 42 93 60 109 88 143 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 42 93 60 109 88 143 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 42 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 42 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 42 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 42 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 42 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 42 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 42 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 25
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
2: unknown type in initialization
3: unknown type in initialization
5: undeclared variable 'g'
6: undeclared variable 'g'
7: undeclared variable 'g'
8: undeclared variable 'h'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/U-03-123-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_U-03-123-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 463025
--- 0 ----
output differs from expected
---------------------------X-01-124-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 15 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 18 50 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 18 50 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 18 50 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 18 50 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 18 50 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 18 50 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 18 50 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 18 50 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 18 50 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 18 50 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 18 50 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 18 50 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 18 50 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 18 50 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 18 50 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 18 50 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 18 50 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("1.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 18 50 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 18 50 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 18 50 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 18 50 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 18 50 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 15 47 95 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 18 50 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 18 50 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 18 50 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 18 50 97 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 18 50 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 18 50 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 18 50 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 18 50 97 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 18 50 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("d")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 18 50 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 18 50 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 18 50 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 18 50 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 18 50 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 18 50 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 18 50 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 18 50 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 18 50 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 18 50 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 18 50 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 18 50 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 15 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 15 47 95
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 15 47 95 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 15 47 95 15 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 15 47 95 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 15 47 95 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 15 47 95 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 15 47 95 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 15 47 95 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 15 47 95 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 15 47 95 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 15 47 95 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 15 47 95 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 15 47 95 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 15 47 95 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 15 47 95 148
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 15 47 95 148 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 15 47 95 148 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 190
Stack now 0 5 1 15 47 95 148 190
Reducing stack by rule 87 (line 192):
   $1 = nterm var_types ()
   $2 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("h")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 18 50 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 18 50 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 18 50 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 18 50 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 18 50 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 18 50 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 18 50 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 18 50 97 61 114 158 194 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 18 50 97 61 114 158 194 15 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 18 50 97 61 114 158 194 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 18 50 97 61 114 158 194 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 18 50 97 61 114 158 194 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 18 50 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 18 50 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 18 50 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 18 50 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 18 50 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 18 50 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 18 50 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 18 50 97 61 114 158 196 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 18 50 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 18 50 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 18 50 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 18 50 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 18 50 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 18 50 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 18 50 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 18 50 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 18 50 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 18 50 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 18 50 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 18 50 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 18 50 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 77
Stack now 0 5 1 14 34 77
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 34 77 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 34 77 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 14 34 77 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 14 34 77 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 77 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 77 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 14 34 77 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 14 34 77 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 14 34 77 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 14 34 77 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 14 34 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("ff")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 89 146 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 89 146 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("    ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 1.1
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 122 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 65 122 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("    ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve -1
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("ff")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("   ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve -1
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("h")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 88 143 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 88 143 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 41 92 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve -1
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected function)
2: wrong type in initialization (expected function)
3: wrong type in initialization (expected function)
5: undeclared variable 'g'
6: undeclared variable 'f'
7: undeclared variable 'f'
8: undeclared variable 'f'
9: undeclared variable 'ff'
10: undeclared variable 'h'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/X-01-124-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_X-01-124-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 1.1-1-1-1
--- 0 ----
output differs from expected
---------------------------X-02-125-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 15 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 18 50 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 18 50 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 18 50 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 1 18 50 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 18 50 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 18 50 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 18 50 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 18 50 97 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 18 50 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 18 50 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 18 50 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 18 50 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 18 50 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 18 50 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 18 50 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 18 50 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 18 50 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 47("1.1")
Next token is token tDOUBLE ()
Shifting token tDOUBLE ()
Entering state 32
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134 32
Reducing stack by rule 93 (line 204):
   $1 = token tDOUBLE ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 18 50 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 18 50 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 18 50 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 18 50 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 18 50 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 18 50 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 1 18 50 101
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 15 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 15 47 95
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 15 47 95 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 15 47 95 15 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 15 47 95 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 15 47 95 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 15 47 95 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 15 47 95 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 15 47 95 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 15 47 95 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 15 47 95 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 15 47 95 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 15 47 95 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 15 47 95 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 15 47 95 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 15 47 95 148
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 15 47 95 148 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 15 47 95 148 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 190
Stack now 0 5 1 15 47 95 148 190
Reducing stack by rule 87 (line 192):
   $1 = nterm var_types ()
   $2 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 18
Stack now 0 5 1 18
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 50
Stack now 0 5 1 18 50
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 5 1 18 50 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 18 50 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 18 50 97 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 18 50 97 61 114 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 18 50 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 18 50 97 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 18 50 97 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 5 1 18 50 97 61 114 158 194 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 18 50 97 61 114 158 194 15 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 18 50 97 61 114 158 194 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 18 50 97 61 114 158 194 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 18 50 97 61 114 158 194 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 18 50 97 61 114 158 194 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 18 50 97 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 18 50 97 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 18 50 97 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 18 50 97 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 18 50 97 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 18 50 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 18 50 97 61 114 158 196 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 18 50 97 61 114 158 196 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 18 50 97 61 114 158 196 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 18 50 97 61 114 158 196 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 18 50 97 61 114 158 196 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 18 50 97 61 114 158 196 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 5 1 18 50 97 61 114 158 196 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 18 50 97 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 18 50 97 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 18 50 97 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 18 50 97 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 18 50 97 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 18 50 97 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 18 50 97 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 18 50 97 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 5 1 18 50 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 102
Stack now 0 5 1 18 50 102
Reducing stack by rule 70 (line 161):
   $1 = nterm global_init ()
-> $$ = nterm opt_global_init ()
Entering state 101
Stack now 0 5 1 18 50 101
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 150
Stack now 0 5 1 18 50 101 150
Reducing stack by rule 65 (line 151):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm opt_global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 23
Stack now 0 5 23
Reducing stack by rule 74 (line 169):
   $1 = nterm global_declarations ()
   $2 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 77
Stack now 0 5 1 14 34 77
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 34 77 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 34 77 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 14 34 77 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 14 34 77 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 77 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 77 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 14 34 77 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 14 34 77 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 14 34 77 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 14 34 77 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 14 34 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("ff")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 89 146 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 34 89 146 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 34 89 146 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 89 146 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 34 89 146 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 34 89 146 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 34 89 146 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 34 89 146 109 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 89 146 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("d")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89 146 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 34 89 146 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 34 89 146 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 34 89 146 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 34 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 34 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 34 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 34 89 146 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 34 89 146 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 1.1
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 5 1 14 41 92 93 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 5 1 14 41 92 93 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 41 92 93 65 122 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 41 92 93 65 122 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("d")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34 64 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34 64 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34 64 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34 64 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34 64 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 41 92 93 65 122 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 41 92 93 65 122 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 5 1 14 41 92 93 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 5 1 14 41 92 93 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 5 1 14 41 92 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("   ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve -1
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("ff")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve 2
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109 88 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 5 1 14 41 92 93 60 109 88 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 28("double")
Next token is token tTYPE_DOUBLE ()
Shifting token tTYPE_DOUBLE ()
Entering state 6
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 194 6
Reducing stack by rule 78 (line 177):
   $1 = token tTYPE_DOUBLE ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("d")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("-")
Next token is token '-' ()
Shifting token '-' ()
Entering state 79
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34 64 109 79
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34 64 109 79 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34 64 109 79 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 135
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34 64 109 79 135
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 176
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34 64 109 79 135 176
Reducing stack by rule 8 (line 74):
   $1 = token '(' ()
   $2 = token '-' ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 5 1 14 41 92 93 60 109 88 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 5 1 14 41 92 93 60 109 88 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 60 109 88 143
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 60 109 88 143 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 60 109 88 143 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 5 1 14 41 92 93 60 109 88 143 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 92 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("  ")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 36("; escreve -2
")
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: wrong type in initialization (expected function)
2: wrong type in initialization (expected function)
4: wrong type in initialization (expected function)
5: undeclared variable 'f'
6: undeclared variable 'f'
7: undeclared variable 'f'
8: undeclared variable 'ff'
9: undeclared variable 'g'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/X-02-125-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_X-02-125-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 1.1-12-2
--- 0 ----
output differs from expected
---------------------------Z-01-126-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 137("var")
Next token is token tVAR ()
Shifting token tVAR ()
Entering state 13
Stack now 0 1 13
Reducing stack by rule 68 (line 157):
   $1 = token tVAR ()
-> $$ = nterm opt_var ()
Entering state 16
Stack now 0 1 16
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 48
Stack now 0 1 16 48
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 97
Stack now 0 1 16 48 97
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 15
Stack now 0 1 16 48 97 61 114 15
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 15 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 15 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 16 48 97 61 114 15 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 16 48 97 61 114 15 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 15 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 15 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 16 48 97 61 114 15 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 16 48 97 61 114 15 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 16 48 97 61 114 15 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 16 48 97 61 114 15 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 16 48 97 61 114 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158
Next token is token ')' ()
Shifting token ')' ()
Entering state 195
Stack now 0 1 16 48 97 61 114 158 195
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 195 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 195 34 64 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 16 48 97 61 114 158 195 34 64 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 1 16 48 97 61 114 158 195 34 64 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 16 48 97 61 114 158 195 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 16 48 97 61 114 158 195 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 16 48 97 61 114 158 195 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 16 48 97 61 114 158 195 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 216
Stack now 0 1 16 48 97 61 114 158 195 216
Next token is token ')' ()
Shifting token ')' ()
Entering state 218
Stack now 0 1 16 48 97 61 114 158 195 216 218
Reducing stack by rule 97 (line 210):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = token ')' ()
   $6 = nterm implicit_block ()
   $7 = token ')' ()
-> $$ = nterm func_def ()
Entering state 100
Stack now 0 1 16 48 100
Reducing stack by rule 72 (line 165):
   $1 = nterm func_def ()
-> $$ = nterm global_init ()
Entering state 98
Stack now 0 1 16 48 98
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 149
Stack now 0 1 16 48 98 149
Reducing stack by rule 66 (line 152):
   $1 = token '(' ()
   $2 = nterm opt_var ()
   $3 = token tIDENTIFIER ()
   $4 = nterm global_init ()
   $5 = token ')' ()
-> $$ = nterm global_declaration ()
Entering state 4
Stack now 0 4
Reducing stack by rule 73 (line 168):
   $1 = nterm global_declaration ()
-> $$ = nterm global_declarations ()
Entering state 5
Stack now 0 5
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 5 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 5 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 34
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 77
Stack now 0 5 1 14 34 77
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 77 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 5 1 14 34 77 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 5 1 14 34 77 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 5 1 14 34 77 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 5 1 14 34 77 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 77 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 5 1 14 34 77 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 5 1 14 34 77 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 5 1 14 34 77 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 5 1 14 34 77 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 5 1 14 34 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 5 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 5 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 5 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 34 89 146 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 34 89 146 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 34 89 146 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 34 89 146 109 88
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 36 (line 108):
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 34 89 146 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 34 89 146 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 5 1 14 34 89 146 188
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 5 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 5 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 5 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 5 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 5 1 14 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 5 1 14 41 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 5 1 14 41 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 5 1 14 41 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 5 1 14 41 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 5 1 14 41 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 5 1 14 41 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 5 1 14 41 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 5 1 14 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 5 1 14 41 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 5 1 14 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 5 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 5 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 5 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 5 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 5 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 5 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 5 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 5 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 5 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 5 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 5 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 22
Stack now 0 5 22
Reducing stack by rule 2 (line 64):
   $1 = nterm global_declarations ()
   $2 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
1: unknown type in initialization
3: undeclared variable 'f'
4: undeclared variable 'g'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Z-01-126-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Z-01-126-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 2
--- 0 ----
output differs from expected
---------------------------Z-02-127-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 89 146 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 89 146 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 109 78 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 109 78 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 89 146 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 89 146 109 78 134 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 89 146 109 78 134 109 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 14 34 89 146 109 78 134 109 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 14 34 89 146 109 78 134 109 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 1 14 34 89 146 109 78 134 109 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 1 14 34 89 146 109 78 134 109 88
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 109 78 134 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 109 78 134 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 89 146 109 78 134 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 1 14 34 89 146 109 78 134 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 1 14 34 89 146 109 78 134 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 1 14 34 89 146 109 78 134 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 89 146 109 78 134 175
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 89 146 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 34 89 146 188
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
3: undeclared variable 'i'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Z-02-127-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Z-02-127-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 2
--- 0 ----
output differs from expected
---------------------------Z-03-128-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 89 146 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 89 146 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 89 146 109 78 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 89 146 109 78 109 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 14 34 89 146 109 78 109 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 14 34 89 146 109 78 109 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 14 34 89 146 109 78 109 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 1 14 34 89 146 109 78 109 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 1 14 34 89 146 109 78 109 88
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 109 78 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 109 78 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 89 146 109 78 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 1 14 34 89 146 109 78 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 1 14 34 89 146 109 78 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 1 14 34 89 146 109 78 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 89 146 109 78 134
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 89 146 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 89 146 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 89 146 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 89 146 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 34 89 146 188
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 60 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 60 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in initialization (expected double or int)
3: undeclared variable 'i'
Compiler: ok (0/0). YASM: ok. LD: ok. Running: *** expected/Z-03-128-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Z-03-128-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 2
--- 0 ----
output differs from expected
---------------------------Z-04-129-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 113 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 60 113 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 113 109 78 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 113 109 78 109 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 14 34 60 113 109 78 109 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 14 34 60 113 109 78 109 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 14 34 60 113 109 78 109 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 1 14 34 60 113 109 78 109 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 1 14 34 60 113 109 78 109 88
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 113 109 78 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 109 78 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 113 109 78 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 1 14 34 60 113 109 78 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 1 14 34 60 113 109 78 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 1 14 34 60 113 109 78 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 60 113 109 78 134
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 113 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 60 113 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 60 113 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in return (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/Z-04-129-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Z-04-129-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
! 12
--- 1 ----
! 1-2147483647
output differs from expected
---------------------------Z-05-130-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 60 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 78 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 78 109 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 14 34 60 109 78 109 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 14 34 60 109 78 109 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 60 109 78 109 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 34 60 109 78 109 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 14 34 60 109 78 109 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 14 34 60 109 78 109 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 1 14 34 60 109 78 109 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 1 14 34 60 109 78 109 88
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 78 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 78 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 109 78 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 1 14 34 60 109 78 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 1 14 34 60 109 78 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 1 14 34 60 109 78 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 34 60 109 78 134
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 34 60 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 34 60 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 34 60 113 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 34 60 113 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 156
Stack now 0 1 14 34 60 113 156
Reducing stack by rule 35 (line 105):
   $1 = nterm exprs ()
   $2 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 34 60 113
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 42 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 42 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 42 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 42 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 42 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 42 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 42 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 42
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
2: wrong type in return (expected double or int)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: *** expected/Z-05-130-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Z-05-130-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
! 21
--- 1 ----
! -21474836471
output differs from expected
---------------------------Z-06-131-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 77
Stack now 0 1 14 34 77
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 77 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 34 77 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 14 34 77 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 14 34 77 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 77 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 77 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 14 34 77 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 14 34 77 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 14 34 77 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 14 34 77 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 14 34 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 34 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 77
Stack now 0 1 14 41 34 77
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 77 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 41 34 77 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 14 41 34 77 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 14 41 34 77 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 77 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 77 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 14 41 34 77 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 14 41 34 77 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 14 41 34 77 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 14 41 34 77 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 14 41 34 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 41 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 41 34 89 146
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 89 146 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 89 146 109 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 89 146 109 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 89 146 109 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 89 146 109 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 14 41 34 89 146 109 65 122 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 14 41 34 89 146 109 65 122 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 1 14 41 34 89 146 109 65 122 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 89 146 109 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 89 146 109 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 188
Stack now 0 1 14 41 34 89 146 188
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 213
Stack now 0 1 14 41 34 89 146 188 213
Reducing stack by rule 56 (line 138):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 1 14 41 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 34 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 1 14 41 34 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 1 14 41 34 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 1 14 41 34 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 1 14 41 34 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 34 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 34 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 34 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 1 14 41 92 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
3: wrong type in initialization (expected function)
4: undeclared variable 'g'
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/Z-06-131-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Z-06-131-N-ok.out	Fri May 31 04:03:42 2024
----- ZONE  1  ----
*** 1 ****
- 23
--- 0 ----
output differs from expected
---------------------------Z-07-132-N-ok.til---------------------------
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 1
Stack now 0 1
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 144("program")
Next token is token tPROGRAM ()
Shifting token tPROGRAM ()
Entering state 14
Stack now 0 1 14
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 34
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 77
Stack now 0 1 14 34 77
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 77 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 34 77 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 14 34 77 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 14 34 77 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 34 77 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 77 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 14 34 77 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 14 34 77 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 14 34 77 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 14 34 77 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 14 34 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 34 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 34 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 34 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 77
Stack now 0 1 14 41 34 77
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 77 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 41 34 77 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 47
Stack now 0 1 14 41 34 77 47
Next token is token '(' ()
Shifting token '(' ()
Entering state 95
Stack now 0 1 14 41 34 77 47 95
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 77 47 95 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 77 47 95 17
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 147
Stack now 0 1 14 41 34 77 47 95 147
Reducing stack by rule 86 (line 191):
   $1 = nterm var_type ()
-> $$ = nterm var_types ()
Entering state 148
Stack now 0 1 14 41 34 77 47 95 148
Next token is token ')' ()
Shifting token ')' ()
Entering state 189
Stack now 0 1 14 41 34 77 47 95 148 189
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 214
Stack now 0 1 14 41 34 77 47 95 148 189 214
Reducing stack by rule 89 (line 196):
   $1 = token '(' ()
   $2 = nterm return_type ()
   $3 = token '(' ()
   $4 = nterm var_types ()
   $5 = token ')' ()
   $6 = token ')' ()
-> $$ = nterm func_type ()
Entering state 20
Stack now 0 1 14 41 34 20
Reducing stack by rule 81 (line 180):
   $1 = nterm func_type ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 17
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 41 34 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 41 34 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 41 34 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 91
Stack now 0 1 14 41 91
Reducing stack by rule 60 (line 144):
   $1 = nterm declarations ()
   $2 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 41
Stack now 0 1 14 41
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 189("set")
Next token is token tSET ()
Shifting token tSET ()
Entering state 65
Stack now 0 1 14 41 34 65 122 109 65
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 65 122 109 65 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 122
Stack now 0 1 14 41 34 65 122 109 65 122
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 65 122 109 65 122 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 143("function")
Next token is token tFUNC ()
Shifting token tFUNC ()
Entering state 61
Stack now 0 1 14 41 34 65 122 109 65 122 109 61
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 114
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 46
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 46
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Reducing stack by rule 90 (line 199):
   $1 = nterm data_type ()
-> $$ = nterm return_type ()
Entering state 158
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158
Next token is token '(' ()
Shifting token '(' ()
Entering state 194
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 194
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 27("int")
Next token is token tTYPE_INT ()
Shifting token tTYPE_INT ()
Entering state 7
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 194 7
Reducing stack by rule 77 (line 176):
   $1 = token tTYPE_INT ()
-> $$ = nterm data_type ()
Entering state 17
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 194 17
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Reducing stack by rule 82 (line 183):
   $1 = nterm data_type ()
-> $$ = nterm var_type ()
Entering state 89
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 194 89
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 146
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 194 89 146
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 187
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 194 89 146 187
Reducing stack by rule 57 (line 139):
   $1 = token '(' ()
   $2 = nterm var_type ()
   $3 = token tIDENTIFIER ()
   $4 = token ')' ()
-> $$ = nterm declaration ()
Entering state 40
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 40
Reducing stack by rule 59 (line 143):
   $1 = nterm declaration ()
-> $$ = nterm declarations ()
Entering state 196
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 217
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 34
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 109
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200("+")
Next token is token '+' ()
Shifting token '+' ()
Entering state 78
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 109 78
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 206("i")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 109 78 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 109 78 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 134
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 109 78 134
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 109 78 134 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 109 78 134 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 175
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 109 78 134 175
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 206
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 109 78 134 175 206
Reducing stack by rule 9 (line 75):
   $1 = token '(' ()
   $2 = token '+' ()
   $3 = nterm expr ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 120
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 34 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 42
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 42
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 54 (line 134):
   $1 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 219
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 219
Next token is token ')' ()
Shifting token ')' ()
Entering state 220
Stack now 0 1 14 41 34 65 122 109 65 122 109 61 114 158 196 217 219 220
Reducing stack by rule 96 (line 209):
   $1 = token '(' ()
   $2 = token tFUNC ()
   $3 = token '(' ()
   $4 = nterm return_type ()
   $5 = nterm declarations ()
   $6 = token ')' ()
   $7 = nterm implicit_block ()
   $8 = token ')' ()
-> $$ = nterm func_def ()
Entering state 44
Stack now 0 1 14 41 34 65 122 109 65 122 44
Reducing stack by rule 31 (line 97):
   $1 = nterm func_def ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 65 122 109 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 65 122 109 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 162
Stack now 0 1 14 41 34 65 122 162
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 197
Stack now 0 1 14 41 34 65 122 162 197
Reducing stack by rule 24 (line 90):
   $1 = token '(' ()
   $2 = token tSET ()
   $3 = nterm lval ()
   $4 = nterm expr ()
   $5 = token ')' ()
-> $$ = nterm expr ()
Entering state 35
Stack now 0 1 14 41 35
Reducing stack by rule 38 (line 113):
   $1 = nterm expr ()
-> $$ = nterm instruction ()
Entering state 37
Stack now 0 1 14 41 37
Reducing stack by rule 75 (line 172):
   $1 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("g")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("1")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 1 14 41 92 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 158("println")
Next token is token tPRINTLN ()
Shifting token tPRINTLN ()
Entering state 60
Stack now 0 1 14 41 92 93 60
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 109
Stack now 0 1 14 41 92 93 60 109
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 206("f")
Next token is token tIDENTIFIER ()
Shifting token tIDENTIFIER ()
Entering state 30
Stack now 0 1 14 41 92 93 60 109 30
Reducing stack by rule 32 (line 100):
   $1 = token tIDENTIFIER ()
-> $$ = nterm lval ()
Entering state 36
Stack now 0 1 14 41 92 93 60 109 36
Reducing stack by rule 23 (line 89):
   $1 = nterm lval ()
-> $$ = nterm expr ()
Entering state 88
Stack now 0 1 14 41 92 93 60 109 88
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("2")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 60 109 88 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 60 109 88 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 92 93 60 109 88 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 143
Stack now 0 1 14 41 92 93 60 109 88 143
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 37 (line 109):
   $1 = nterm exprs ()
-> $$ = nterm opt_exprs ()
Entering state 145
Stack now 0 1 14 41 92 93 60 109 88 145
Next token is token ')' ()
Shifting token ')' ()
Entering state 186
Stack now 0 1 14 41 92 93 60 109 88 145 186
Reducing stack by rule 28 (line 94):
   $1 = token '(' ()
   $2 = nterm expr ()
   $3 = nterm opt_exprs ()
   $4 = token ')' ()
-> $$ = nterm expr ()
Entering state 111
Stack now 0 1 14 41 92 93 60 111
Reducing stack by rule 34 (line 104):
   $1 = nterm expr ()
-> $$ = nterm exprs ()
Entering state 113
Stack now 0 1 14 41 92 93 60 113
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 157
Stack now 0 1 14 41 92 93 60 113 157
Reducing stack by rule 40 (line 115):
   $1 = token '(' ()
   $2 = token tPRINTLN ()
   $3 = nterm exprs ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
  ")
--accepting rule at line 200("(")
Next token is token '(' ()
Shifting token '(' ()
Entering state 93
Stack now 0 1 14 41 92 93
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 167("return")
Next token is token tRETURN ()
Shifting token tRETURN ()
Entering state 64
Stack now 0 1 14 41 92 93 64
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 212(" ")
--(end of buffer or a NUL)
--accepting rule at line 62("0")
Next token is token tINTEGER ()
Shifting token tINTEGER ()
Entering state 29
Stack now 0 1 14 41 92 93 64 29
Reducing stack by rule 92 (line 203):
   $1 = token tINTEGER ()
-> $$ = nterm literal ()
Entering state 43
Stack now 0 1 14 41 92 93 64 43
Reducing stack by rule 6 (line 72):
   $1 = nterm literal ()
-> $$ = nterm expr ()
Entering state 120
Stack now 0 1 14 41 92 93 64 120
Reading a token
--accepting rule at line 200(")")
Next token is token ')' ()
Shifting token ')' ()
Entering state 161
Stack now 0 1 14 41 92 93 64 120 161
Reducing stack by rule 46 (line 121):
   $1 = token '(' ()
   $2 = token tRETURN ()
   $3 = nterm expr ()
   $4 = token ')' ()
-> $$ = nterm instruction ()
Entering state 94
Stack now 0 1 14 41 92 94
Reducing stack by rule 76 (line 173):
   $1 = nterm instructions ()
   $2 = nterm instruction ()
-> $$ = nterm instructions ()
Entering state 92
Stack now 0 1 14 41 92
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("
")
--accepting rule at line 200(")")
Next token is token ')' ()
Reducing stack by rule 55 (line 135):
   $1 = nterm declarations ()
   $2 = nterm instructions ()
-> $$ = nterm implicit_block ()
Entering state 39
Stack now 0 1 14 39
Next token is token ')' ()
Shifting token ')' ()
Entering state 90
Stack now 0 1 14 39 90
Reducing stack by rule 5 (line 69):
   $1 = token '(' ()
   $2 = token tPROGRAM ()
   $3 = nterm implicit_block ()
   $4 = token ')' ()
-> $$ = nterm program ()
Entering state 3
Stack now 0 3
Reducing stack by rule 4 (line 66):
   $1 = nterm program ()
-> $$ = nterm file ()
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--(end of buffer or a NUL)
--accepting rule at line 212("

")
--(end of buffer or a NUL)
--EOF (start condition 0)
Now at end of input.
Shifting token "end of file" ()
Entering state 21
Stack now 0 2 21
Stack now 0 2 21
Cleanup: popping token "end of file" ()
Cleanup: popping nterm file ()
4: wrong type in initialization (expected function)
Compiler: ok (0/0). YASM: ok. LD: ld: warning: kernel.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ok. Running: execution failed
*** expected/Z-07-132-N-ok.out	Fri May 31 03:23:38 2024
--- logs/129_Z-07-132-N-ok.out	Fri May 31 04:03:43 2024
----- ZONE  1  ----
*** 1 ****
- 23
--- 0 ----
output differs from expected